【漫画技术】揭秘Android事件分发机制

4,111 阅读2分钟
类型描述用时
选题silencezwm0.1小时
写作时间2017年11月16日2.5小时
审稿silencezwm0.5小时
校对上线silencezwm0.2小时
Tips:4个环节,共计约3.3小时的精心打磨完成上线。

你好,欢迎来到【漫画技术】栏目

让你看的开心,学的舒心


掌握Android事件分发机制不仅能应付面试,更重要的是对自己技术栈的一个积累。

通过本文的学习,你可以了解到:

一、涉及到的几个重要方法

二、事件分发流程图(重点推荐)


一、涉及到的几个重要方法

类型dispatchTouchEventonInterceptTouchEventonTouchEvent
Activity×
ViewGroup
View×

在学习事件分发机制的时候,切记不要死记硬背(因为过几天,相信你肯定能会忘记的!),重点是理解整个流程。

dispatchTouchEvent:意为分发触摸事件。

onInterceptTouchEvent:意为拦截触摸事件。

onTouchEvent:意为触摸事件。

phonewindow

xml布局一大块,就是我们平常编写xml布局文件后展示的地方,此时我只放了一个TextView。

在这里,我将做如下比喻:

Activity    -->   部门经理
ViewGroup   -->   部门主管
View        -->   部门成员

该部门如期完成了一个大项目,老板大喜,决定给该部门奖励20万元。

接着,真实情况可能会有如下几种场景:

场景一(部门经理私吞了):部门经理贪心一起,把本该分发下去的钱踹到自己腰包里了。

场景二(部门主管欺骗了部门经理):部门经理拿到钱后,立马找来部门主管,让他把钱分给部门成员。“钱我分出去了”部门主管对部门经理说,事实却是部门主管欺骗了部门经理,他把这些钱据为己有,而部门成员却毫不知情。

场景三(人人有份):该场景皆大欢喜,整个部门的人都分得了钱。


二、事件分发流程图

此刻,你的脑海中或许还残留着那几个场景的画面感。那么赶紧分析以下流程图,对号入座,相信你将收获颇丰。

事件分发流程图

该流程图阐述了“Android事件分发机制”的核心内容。

其中需注意的是:判断框中,返回的箭头指向自己,意味着事件被自身消费,也就表明此次事件传递周期到此结束。

如你在学习过程中有疑问,可在下方评论留言,我会及时为你解答。

如果你觉得文章不错,可以收藏和分享哦。最后,预祝你学习愉快!