取消ViewGroup中的手势,让后续的触摸事件重新流动



假设我有一个ViewGroup来处理垂直滚动事件。我已经在onInterceptTouchEvent中实现了逻辑,当识别所需的手势时,它将返回true。

假设这个手势是"向下滚动"。当onInterceptTouchEvent返回true(开始向下滚动)时,所有后续的触摸事件将被发送到我的ViewGroup(正确:))

问题是,一旦用户再次滚动向上(在同一手势内),我想取消自己作为触摸处理程序目标,并将事件传递给我的子视图。

我应该用什么?当我发现用户开始"向上移动"时,在myViewGroup.onTouch中调用dispatchTouchEvent ?

停止处理先前通过onInterceptTouchEvent->true "截获"的手势的一种方法是在onTouch方法中调用dispatchTouchEvent

你需要伪造你自己的MotionEvent (ACTION_CANCEL)

最新更新