这是onInterceptTouchEvent()
注释的一部分:
如果您从此处返回true,则不会收到任何
以下事件:目标视图将接收相同的事件,但
动作{@link MotionEvent#ACTION_CANCEL},以及所有其他动作
事件将传递到您的onTouchEvent()方法,不再
出现在这里。
它说,如果您在父级的onInterceptTouchEvent()
方法中返回true,则您的孩子将收到MotionEvent.ACTION_CANCEL
事件。为了证明孩子已收到log.d
事件,我在哪里可以放置MotionEvent.ACTION_CANCEL
捕获MotionEvent.ACTION_CANCEL
?
最佳答案
您可以在孩子的onTouchEvent()
中捕获它。如果该子视图不是自定义视图,则可以在子视图上设置OnTouchListener()
并将其捕获在onTouch()
回调中。