我目前正在使用dispatchTouchEvent来获取触摸事件,是否有一种简单的方法可以区分单击和“拖动”样式手势?
问问题
4217 次
2 回答
1
DispatchTouchEvent
用MotionEvent
参数调用。getAction
内的方法MotionEvent
可以返回
- ACTION_DOWN
- ACTION_MOVE
- ACTION_UP
- ACTION_CANCEL
然后在ACTION_DOWN标志上设置 isClick。如果有ACTION_MOVE清除 isClick 标志。
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
isClick = true;
break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
if (isClick) {
//TODO Click action
}
break;
case MotionEvent.ACTION_MOVE:
isClick = false;
break;
default:
break;
}
return true;
}
于 2013-05-10T14:45:59.520 回答
0
设置阈值限制。当您在小范围内移动指针时,将其识别为单击或移动
于 2020-07-29T01:10:03.790 回答