事件传递机制

来源:互联网 发布:瞻博网络中国裁员 编辑:程序博客网 时间:2024/05/21 05:55

事件传递机制


为什么要进行事件分发机制?



安卓上面的view是树形结构的   View可能会重叠起来了  当 我们点击的地方有多个view可以响应的时候,这个点击事件应该给谁呢?就需要事件分发机制来帮忙了








View的结构




事件传递一共有三个方法



这三个方法有一个boolean类型的返回值   通过返回true和false来控制事件传递的流程

Activity和View都没有拦截方法  原因是  作为事件的分发者   如果进行拦截就会导致整个屏幕无响应事件     这也不是我

view作为事件传递的最末端要么消费事件  要么不处理进行回传 根本没有必要拦截

事件分发的流程

activity photoview  decorview viewgroup view   如果没有处理的话就进行回传

                                                                总结

view的事分发机制实际上就是一个非常经典的责任链模式     当多个对象处理同一请求的时候将这些对象串成一条链知道有对象处理他为止