类型 | 描述 | 用时 |
---|---|---|
选题 | 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事件分发机制”的核心内容。
其中需注意的是:判断框中,返回的箭头指向自己,意味着事件被自身消费,也就表明此次事件传递周期到此结束。
如你在学习过程中有疑问,可在下方评论留言,我会及时为你解答。
如果你觉得文章不错,可以收藏和分享哦。最后,预祝你学习愉快!