我们的应用程序中有几个项目渲染器,我们注意到这些 UI 元素对点击的响应可能会有很大差异。
例子:
private function setupClickHandling():void
{
//this.addEventListener(TouchEvent.TOUCH_TAP, clickHandler);
this.addEventListener(MouseEvent.CLICK, clickHandler);
}
protected function clickHandler(e:Object):void
{
var event:ItemClickEvent =
new ItemClickEvent(ItemClickEvent.ITEM_CLICK, true);
event.item = data;
event.index = itemIndex;
dispatchEvent(event);
}
使用 MouseEvent.CLICK 时,有时点击不会注册为实际点击,即使控件在“按下”状态下花费了一些时间。这是最令人沮丧的,因为用户认为控件已被触发,但由于未触发单击事件,因此除了灰色背景闪烁之外没有任何反应。
使用 TouchEvent.TOUCH_TAP 时,点击变得过于敏感,有时在拖动滚动列表时会触发列表项。我认为只要中心点没有明显移动,无论持续时间多短,点击界面都会注册点击,并且一旦检测到足够的移动,点击将不会被注册。相反,似乎发生的是点击事件注册在事件的向下部分,而不是向上。
那么,有没有办法要么提高 Click 的灵敏度,要么降低 Tap 的灵敏度呢?
或者理想情况下,总是将点击注册为实际点击?