MotionEvent的文档在 Consistency Guarantees 中指出:“(对于触摸事件)......指针一次下降一个,作为一组移动,然后一次上升一个或被取消”。
如果我理解正确,有两种方法可以确定触发的操作onTouchEvent():
MotionEvent.getAction()MotionEvent.getActionMasked()withMotionEvent.getActionIndex()(这应该用于多点触控,这就是我所追求的)
由于getActionMasked()总是只返回ACTION_POINTER_DOWNand ACTION_POINTER_UP,根据一致性保证,应该总是只有一个指针传递MotionEvent给onTouchEvent(),这意味着MotionEvent.getActionIndex()总是返回 0。
如果是这样,那有什么意义MotionEvent.getActionIndex()呢?换句话说:我错过了什么?
更新:为了进一步澄清我的问题:MotionEvent.getActionMasked()只返回一个动作并MotionEvent.getActionIndex()告诉我们它适用于哪个指针。这是否意味着我们无法获得其他指针的操作?或者如果所有指针都相同,为什么要指定 actionIndex 呢?