梳理View的事件分发

一个伪代码看清事件分发的三个重要方法!!!!看下图。

梳理View的事件分发_第1张图片
一级一级向下分发
如下图,Activity里面的分发方法,结合上图,如果所有view都不处理,则会调用acticity的ontouch,事件会丢失。
梳理View的事件分发_第2张图片
图片发自App
总体说下,点击事件的分发过程:

第一步:Activity调用Window的superDispatchTouchEvent(ev);

第二步:Window类,维护了DecorView的引用,调用superDispatchTouchEvent(ev);

第三部:DecorView调用super.dispatchTouchEvent(ev)

后面就是viewgroup的分发。

最后看一张图,看看一些方法的执行顺序
梳理View的事件分发_第3张图片
图片发自App

你可能感兴趣的:(梳理View的事件分发)