件在视图之间传递的顺序大概是这样的:
父容器的dispatchTouchEvent-->调用内部容器的dispatchTouchEvent-->调用基本控件的dispatchTouchEvent.
这里的容器就是ViewGroup, 控件就是各种View.
通过这样的传递, 一个复杂的组件对它的上层来说就变得统一了: 我不要去关心你里面有什么乱七八糟的基本控件, 怎么摆放, 怎么处理. 我分分钟几十万上下, 找一个小小的具体的Button我累不累? 反正我就把事件丢给你, 怎么处理你来决定.
同样他的下级也是这个思路, 把事件丢到更下一级, 最终传达到一个Button让它响应处理.
这就是责任链模式.
父容器的dispatchTouchEvent-->调用内部容器的dispatchTouchEvent-->调用基本控件的dispatchTouchEvent.
这里的容器就是ViewGroup, 控件就是各种View.
通过这样的传递, 一个复杂的组件对它的上层来说就变得统一了: 我不要去关心你里面有什么乱七八糟的基本控件, 怎么摆放, 怎么处理. 我分分钟几十万上下, 找一个小小的具体的Button我累不累? 反正我就把事件丢给你, 怎么处理你来决定.
同样他的下级也是这个思路, 把事件丢到更下一级, 最终传达到一个Button让它响应处理.
这就是责任链模式.