文章目录
- 一、onTouchEvent 返回 false 的情况
- 二、示例场景分析
- 三、结论
在 Android 中,拦截事件通常指阻止事件继续传递或者消费事件,以防止它继续触发其他后续事件(比如
onClick())。
在 onTouchEvent() 方法中,如果返回 false,表示当前 View 没有处理该事件,Android 系统会继续将事件传递给后续的 View 或者执行点击事件的回调。
下面详细解释了相关的事件处理逻辑:
一、onTouchEvent 返回 false 的情况
-
onTouchEvent 返回 false:
- 当
onTouchEvent(MotionEvent event)方法返回false时,表示当前 View 没有消费该事件,希望事件可以继续传递给更深层次的 View 或者执行点击事件的回调。
- 当
-
onClick 的执行:
onClick()方法的触发是基于onTouchEvent()方法中是否识别到了一次有效的点击事件。具体来说,当在onTouchEvent()方法中判断到该事件符合点击的条件(通常是在ACTION_UP事件中),会调用performClick()方法。performClick()方法内部会首先调用View类中的performClick()