2

我目前正在使用dispatchTouchEvent来获取触摸事件,是否有一种简单的方法可以区分单击和“拖动”样式手势?

4

2 回答 2

1

DispatchTouchEventMotionEvent参数调用。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 回答