类型
描述
用时
选题
silencezwm
0.1小时
写作时间
2017年11月16日
2.5小时
审稿
silencezwm
0.5小时
校对上线
silencezwm
0.2小时
Tips:4个环节,共计约3.3小时的精心打磨完成上线。
掌握Android事件分发机制不仅能应付面试,更重要的是对自己技术栈的一个积累。
通过本文的学习,你可以了解到:
一、涉及到的几个重要方法
二、事件分发流程图(重点推荐)
一、涉及到的几个重要方法
类型
dispatchTouchEvent
onInterceptTouchEvent
onTouchEvent
Activity
√
×
√
ViewGroup
√
√
√
View
√
×
√
在学习事件分发机制的时候,切记不要死记硬背(因为过几天,相信你肯定能会忘记的!),重点是理解整个流程。
dispatchTouchEvent:意为分发触摸事件。
onInterceptTouchEvent:意为拦截触摸事件。
onTouchEvent:意为触摸事件。
xml布局一大块,就是我们平常编写xml布局文件后展示的地方,此时我只放了一个TextView。
在这里,我将做如下比喻:
Activity --> 部门经理
ViewGroup --> 部门主管
View --> 部门成员
复制代码
该部门如期完成了一个大项目,老板大喜,决定给该部门奖励20万元。
接着,真实情况可能会有如下几种场景:
场景一(部门经理私吞了):部门经理贪心一起,把本该分发下去的钱踹到自己腰包里了。
场景二(部门主管欺骗了部门经理):部门经理拿到钱后,立马找来部门主管,让他把钱分给部门成员。“钱我分出去了”部门主管对部门经理说,事实却是部门主管欺骗了部门经理,他把这些钱据为己有,而部门成员却毫不知情。
场景三(人人有份):该场景皆大欢喜,整个部门的人都分得了钱。
二、事件分发流程图
此刻,你的脑海中或许还残留着那几个场景的画面感。那么赶紧分析以下流程图,对号入座,相信你将收获颇丰。
该流程图阐述了“Android事件分发机制”的核心内容。
其中需注意的是:判断框中,返回的箭头指向自己,意味着事件被自身消费,也就表明此次事件传递周期到此结束。
如你在学习过程中有疑问,可在下方评论留言,我会及时为你解答。
如果你觉得文章不错,可以收藏和分享哦。最后,预祝你学习愉快!