MotionEvent中ACTION_CANCEL和ACTION_UP有什么区别?

我想跟踪屏幕上的手指触摸。 所以我所做的是在MotionEvent触发ACTION_DOWN时开始logging位置,但是如何知道动作何时完成, ACTION_CANCELACTION_UP

他们之间的确切区别是什么?

Solutions Collecting From Web of "MotionEvent中ACTION_CANCEL和ACTION_UP有什么区别?"

MotionEvent:

  • ACTION_UP:按下的手势已经完成,动作包含最后释放位置以及自上次下移或移动事件以来的任何中间点。

  • ACTION_CANCEL:当前手势已被中止。

ACTION_CANCEL发生在父级拥有该动作时,例如,当用户在列表视图上拖动足够多时,它将开始滚动,而不是让您按下其中的button。 您可以在viewgroup文档中find更多关于它的信息: onInterceptTouchEvent 。

所以当动作被拖出父项时使用ACTION_CANCEL,否则使用ACTION_UP。