今天开始写一点关于view的知识,先从最基本的讲吧,android的事件分发机制,其实在我看来,android的事件分发机制在现实生活中经常能看到,所以我觉得还是很好理解的;
先看看生活中常见的一种情形吧;
比如说,现在你所在的公司中有一项任务被派发下来了,项目经理把项目交给你的老大,你的老大老大手下有很多人,看了看觉得你做很合适,把这个任务交给你了;你一看觉得还行,你就接下来了;
这么一个小小场景大概就说明了android的事件分发;简而言之,就是大的传小的,小的能处理就处理,处理不了再返回给大的;
好,现在具体看看事件分发;
首先我们先看看为什么会有事件分发机制:
我们知道,android上的View是树形结构的,View可能会重叠在一起,当我们点击的地方有多个View都可以响应的时候,这个点击事件应该给谁呢?事件分发机制就是为了处理这个问题的;
接下来看看关于事件分发的三个主要对象:
一个事件产生之后,都是先传给Activity,在传给ViewGroup,最后传给View,对比上面的例子,Activity对应的就是项目经理,viewGroup