高级UI7-View事件纷发解析

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

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

Activity#dispatchTouchEvent

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

ViewGroup#dispatchTouchEvent

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

是否是按下操作

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

事件是否被拦截

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

如果不拦截,则执行

开始纷发事件

纷发的事件被子View消费了

image.png

二、事件分析的流程图

流程图.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容