Android 什么';在MotionEvent中,ACTION\u CANCEL和ACTION\u UP的区别是什么?

Android 什么';在MotionEvent中,ACTION\u CANCEL和ACTION\u UP的区别是什么?,android,motion,motionevent,Android,Motion,Motionevent,我想跟踪屏幕上的手指触摸。所以我所做的就是在MotionEvent触发ACTION\u DOWN时开始记录位置,但我如何知道操作何时完成,在ACTION\u CANCEL或ACTION\u UP 它们之间的确切区别是什么? 动作向上:按下的手势已完成,动作包含最终释放位置以及自上次向下或移动事件以来的任何中间点 操作\u取消:当前手势已中止 当父对象拥有该运动时,例如当用户在列表视图中拖动足够多的内容,它将开始滚动而不是让您按下其中的按钮时,将发生动作\u取消。您可以在viewgroup文档

我想跟踪屏幕上的手指触摸。所以我所做的就是在
MotionEvent
触发
ACTION\u DOWN
时开始记录位置,但我如何知道操作何时完成,在
ACTION\u CANCEL
ACTION\u UP

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

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

  • 操作\u取消:当前手势已中止

当父对象拥有该运动时,例如当用户在列表视图中拖动足够多的内容,它将开始滚动而不是让您按下其中的按钮时,将发生动作\u取消。您可以在viewgroup文档中找到更多信息:


因此,当动作从父对象中拖出时,请使用动作取消,否则请使用动作向上。

通常,当来宾完成时,用户会触发动作向上。,以明确表示用户已完成与移动的交互

另一方面,Android系统调用
ACTION\u CANCEL
,表示其中一个视图使用
onInterceptTouchEvent()
控制,该视图返回true,结果系统完成了触摸事件的传播

请看一张照片