您的位置:首页 > 移动开发 > Android开发

Android 事件分发机制

2016-11-03 18:11 337 查看
这两天看到别人写的事件分发机制文章,光看不中用。于是自己尝试着去实践一波。最后我会贴上本人阅读的文章链接。

该图需要从左上开始看



可以根据上图 super 方法流程对比。





由上图我们可以看到,点击事件的分发过程由三个重要的方法来共同完成的。

public boolean dispatchTouchEvent(MotionEvent ev)

用来进行事件的分发。表示是否消耗当前事件

public boolean onInterceptTouchEvent(MotionEvent ev)

在上述方法内部调用,用来判断是否拦截某个事件,如果当前View拦截了某个时间,那么在同一个事件序列当中,此方法不会再次被调用,返回结果表示是否拦截当前事件

public boolean onTouchEvent(MotionEvent event)

用来处理点击事件,返回结果表示是否消耗当前事件,如果不消耗,则在同一个事件序列中,当前View无法再次接收到事件。



我们看到这个张动态图,明显可以看到debug的流程。由此可以推断出

该博主的文章链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: