event.getAction()&MotionEvent.ACTION_MASK的原因
看到下面代码中用了AND位运算是为了什么呢? public boolean onTouchEvent(MotionEvent event) { int action = event.getAction(); switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: showMsg("ACTION_DOWN" + action); break; case MotionEvent.ACTION_UP: showMsg("ACTION_UP" + action); break; case MotionEvent.ACTION_POINTER_UP: showMsg("ACTION_POINTER_UP" + action); break; case MotionEvent.ACTION_POINTER_DOWN: showMsg("ACTION_POINTER_DOWN" + action); break; } return super.onTouchEvent(event); } 首先来看看这些常量的值 ACTION_MASK 0x000000ff ACTION_DOWN 0×00000000 ACTION_UP 0×00000001 ACTION_MOVE 0×00000002 ACTION_POINTER_DOWN 0×00000005 ACTION_POINTER_UP [...]