Android事件分发机制

2021-04-17  本文已影响0人  青楼楼长

主要就是三个方法

1 、dispatchTouchEvent()分发  Activity  Viewgroup  View都有此方法

2、onTouchEvent()  事件处理  Activity  Viewgroup  View都有此方法

3、inteceptor  事件拦截  只有ViewGroup独有此方法

总结起来就是:

每个方法都有返回值

true:表明消费此事件

fasle:表明不消费

dispatch:一个事件来了,先从Activity  ->  Viewgroup  ->  View 的顺序进行。如果被消费了也就是dispatch返回了true,则会在对应的这三层中继续执行ontouch方法。那么在下一次的事件来的时候也会分发到这一层。如果都没有被消费,则会交由父层的onTouchEvent帮忙处理。反正最后哪一层的处理了,在下一次的 事件处理就分发到哪一层。其中ViewGroup的拦截事件如果拦截了的话(return true)则交由ViewGroup 的onTouchEvent事件进行处理。

上一篇 下一篇

猜你喜欢

热点阅读