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