Android onSingleTapUp没有调用多个指针

时间:2014-04-16 15:52:02

标签: android gesture-recognition

我正在尝试区分单个指针点击(一个手指),两个指针(两个手指)的点击。
我注意到onSingleTapUp(...)仅针对MotionEvent.ACTION_UP,左侧被调用 虽然只能从MotionEvent.ACTION_POINTER_UP识别onTouchEvent(...) 是否有针对此案例的API方法,或者我必须覆盖onTouchEvent(...)并使用MotionEvent.getPointerCount(...)区分这些案例?

public boolean onTouchEvent(MotionEvent event) { 

    if (event.getActionMasked() == MotionEvent.ACTION_UP) {
        Log.v("GESTURE", "onTouchEvent ACTION_UP");
    }

    if (event.getActionMasked() == MotionEvent.ACTION_POINTER_UP) {
        Log.v("GESTURE", "onTouchEvent ACTION_POINTER_UP");
    }
    this.mDetector.onTouchEvent(event);
    return true;
}


public boolean onSingleTapUp (MotionEvent event) {      

    if (event.getActionMasked() == MotionEvent.ACTION_UP) {
        Log.v("GESTURE", "onSingleTapUp ACTION_UP");
    }
}

1 个答案:

答案 0 :(得分:0)

    @Override
    public boolean onTouchEvent(MotionEvent event){
       if(event.getPointerCount() > 1){
       //do some math for the multiple pointers using event.getPointerId() to refer to diff. pointers.
       }else{
            // it's a one-touch event, do regular stuff.
       }
    }