我正在尝试在Flex移动项目中创建我自己的自定义列表组件,当用户触摸列表项并在指定时间内按住手指时会触发事件。 某种类型的“longTouch”-Event就像它在原生的android listitems上实现的那样编辑条目。
我试图侦听MOUSE_DOWN事件以启动计时器并在计时器结束时调度事件。但是这种方法失败了,因为我无法获得用户按下的listitem,因为只有在用户从列表中抬起手指后,List组件才会更新“selectedItem”属性。
提前致谢
Andre Uschmann
答案 0 :(得分:3)
没有通过Flash Player Native API公开longTouch(或longPress)事件。
一种选择是使用TOUCH_BEGIN,TOUCH_END和timer推广自己。
基本上:
当touch_End事件触发时;检查计时器,看看它使用currentCount运行了多长时间。如果它足够长,可以被视为“长触摸”,则调度您的自定义longPress事件。如果不;然后停止计时器并忽略。
这可能都发生在渲染器内;所以你确切知道按下了什么项目。
我希望这比使用鼠标事件更加稳固,鼠标事件似乎在基于触摸的设备上不一致