Android事件分发-基础原理和场景分析
原文中文,约11600字,阅读约需28分钟。发表于: 。和其他平台类似,Android 中 View 的布局是一个树形结构,各个 ViewGroup 和 View 是按树形结构嵌套布局的,从而会出现用户触摸的位置坐标可能会落在多个 View 的范围内,这样就不知道哪个 View 来响应这个事件,为了解决这一问题,就出现了事件分发机制。
本文介绍了Android中的事件分发机制,事件由上往下传递,如果事件没有被消费则继续传递到下一层,如果事件被消费则停止传递。事件分发是从Activity开始的,关键方法是ViewGroup和View中的相关方法。分发过程中有拦截且拦截后消费,DOWN事件会层层往下分发,直到有拦截后直接交给消费的View进行处理,MOVE和UP事件则会层层往下分发,最后直接交给消费事件的View进行处理,然后层层返回true。