高级UI7-View事件纷发解析

一、源码解析事件纷发流程:

步骤一、方法入口:Activity#dispatchTouchEvent()

Activity#dispatchTouchEvent

步骤二、接下来是调用到ViewGroup#dispatchTouchEvent():

ViewGroup#dispatchTouchEvent

步骤三、先判断是否是按下操作:

是否是按下操作

步骤三、判断是否被拦截(我们自己的代码可以通过requestDisallowInterceptTouchEvent来主动的拦截)

事件是否被拦截

步骤四、如果不拦截,执行图中代码:

如果不拦截,则执行

开始纷发事件

纷发的事件被子View消费了

image.png

二、事件分析的流程图

流程图.png

你可能感兴趣的:(高级UI7-View事件纷发解析)