MotionEvent中的ACTION_CANCEL和ACTION_UP有什么区别?

Jam*_*mes 12 android motion motionevent

我想跟踪屏幕上的手指触摸.所以我所做的就是在MotionEvent触发时开始记录位置ACTION_DOWN,但我怎么知道动作何时结束ACTION_CANCEL,或者ACTION_UP

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

Ian*_*Ian 19

MotionEvent:

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

  • ACTION_CANCEL:当前手势已中止.

父级占有动作时会发生ACTION_CANCEL,例如,当用户在列表视图中拖动足够的内容时,它将开始滚动而不是让您按下其中的按钮.您可以在viewgroup文档中找到有关它的更多信息:onInterceptTouchEvent.

因此,当操作被拖出父项时使用ACTION_CANCEL,否则使用ACTION_UP.