Android自定义View

完全解析Android事件传递和处理机制

2020-10-15  本文已影响0人  小七在简书

基础Demo程序结构示意图

image.png

最基本的布局

系统默认的事件流向(点击InnerView)

image.png

针对这三个方法,职责和造成的影响如下

image.jpeg

下面分几种情况介绍一下

1. 当覆写MainActivity中的dispatchTouchEvent方法的时候

image.png

2. 当覆写OuterView中的dispatchTouchEvent方法的时候

image.png image.png

3. 当覆写OuterView中的onInterceptTouchEvent方法的时候

image.png image.png

4. 关于覆写各个节点中的onTouchEvent方法的时候

4.1. MainActivity中返回true、false或者super都没什么区别,最后还是会回到MainActivity中

Down事件

image.png

MOVE、UP等后续事件

image.png
4.2. OuterView中返回true

Down事件

image.png

MOVE、UP等后续事件

image.png
4.3. OuterView中返回false

Down事件

image.png

MOVE、UP等后续事件

image.png
4.4. InnerView中返回true

Down事件

image.png

MOVE、UP等后续事件

image.png
4.5. InnerView中返回false

Down事件

image.png

MOVE、UP等后续事件

image.png

这样,所有的方法的影响基本就列举完整了,但是大多数情况下都是需要组合起来使用。基本就是系统事件传递主线中可以随时进行介入,根据每个方法的特性,去合理安排介入时机来完成事件的合理分发处理。

上一篇 下一篇

猜你喜欢

热点阅读