使用MotionEvent.getAction()方法的区别

iCo*_*ld7 14 android multi-touch motionevent

以下两种方法有什么区别?

 int action1 = event.getAction() & MotionEvent.ACTION_MASK;

 int action2 = event.getAction();
Run Code Online (Sandbox Code Playgroud)

Rag*_*ood 15

ACTION_MASK用于分离的实际动作和指针识别符(例如,第一手指触摸,第二手指接触等)在返回的值的第8位的getAction()是实际的作用部,所以当你按位与它使用动作掩码(= 11111111 = 255 = 0xff),只剩下动作而没有指针信息.

请记住,这里&用作算术运算符(按位)而不是逻辑运算符(单个&是Java中完全有效的逻辑运算符,原样&&).

  • 如果在大多数情况下不支持多点触控,则无需使用它. (2认同)