我正在尝试区分单个指针点击(一个手指),两个指针(两个手指)的点击。
我注意到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");
}
}
答案 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.
}
}