我的应用程序处理一个和两个手指触摸。第一根手指可能同时发送ACTION_MOVE
动作,而第二根手指同时发送动作ACTION_POINTER_UP
。
那么,如何获得第一根手指的动作和第二根手指的动作呢?
我的应用程序处理一个和两个手指触摸。第一根手指可能同时发送ACTION_MOVE
动作,而第二根手指同时发送动作ACTION_POINTER_UP
。
那么,如何获得第一根手指的动作和第二根手指的动作呢?
所以你有指针索引,你可以在你的MotionEvent.case
. 根据哪个手指向下,您有不同的情况。
还要记住,无论指针索引是什么,它们都与
MOVE
大小写相关。除非您可以访问指针 ID,在这种情况下,您可以通过 ID 进行区分。
例如,ACTION_POINTER_1_DOWN
将关联到您的第二根手指。
switch(action) {
case (MotionEvent.ACTION_DOWN):
break;
case (MotionEvent.ACTION_POINTER_1_DOWN): // Second finger
break;
case (MotionEvent.ACTION_MOVE):
if(pointer > 0) {
x = motionEvent.getX(pointer);
y = motionEvent.getY(pointer);
}
else {
x = motionEvent.getX();
y = motionEvent.getY();
}
break;
case (MotionEvent.ACTION_UP):
System.out.println("UP");
break;
case (MotionEvent.ACTION_POINTER_1_UP): // Second finger
System.out.println("1 UP");
break;
}