以下两种方法有什么区别?
int action1 = event.getAction() & MotionEvent.ACTION_MASK;
int action2 = event.getAction();
答案 0 :(得分:14)
ACTION_MASK
用于分隔实际动作和指针标识符(例如,第一根手指触摸,第二根手指触摸等)getAction()中返回的值的前8位是实际动作部分,所以当你用action mask(= 11111111 = 255 = 0xff)按位和它时,你只剩下动作而没有指针信息。
请记住&
用作算术运算符(按位)而不是逻辑运算符(单&
是Java中完全有效的逻辑运算符,&&
也是如此).`