以下两种方法有什么区别?
int action1 = event.getAction() & MotionEvent.ACTION_MASK;
int action2 = event.getAction();
最佳答案
ACTION_MASK
用于分隔实际 Action 和指针标识符(例如,第一根手指触摸,第二根手指触摸等)。getAction()中返回的值的前8位是实际 Action 部分,因此,当您按位与之时如果使用action mask(= 11111111 = 255 = 0xff),则只剩下操作,而没有指针信息。
这里要记住,&
用作算术运算符(按位),而不是逻辑运算符(单个&
和&&
一样,在Java中是完全有效的逻辑运算符)。
关于android - 使用MotionEvent.getAction()方法的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16464187/