Android区分Click和Drag dispatchTouchEvent

时间:2013-01-19 23:07:20

标签: android

我目前正在使用dispatchTouchEvent来抓取触摸事件,是否有一种简单的方法来区分点击和拖动"手写手势?

2 个答案:

答案 0 :(得分:1)

使用DispatchTouchEvent参数调用

MotionEventgetAction中的方法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;
}

答案 1 :(得分:0)

设置阈值限制。在较小范围内移动指针时,将其识别为点击或移动