事件分发机制
主要和大家分享 自己的学习成果 希望能给大家解除疑惑
MyGroupA总经理(老大 最外层) MyGroupB(项目经理 中间层) MyView(自己 最内层)
事件的传递 dispatchTouchEvent() → onInterceptTouchEvent() → onTouchEvent()
ViewGroup有 dispatchTouchEvent() onInterceptTouchEvent() onTouchEvent()
View 有 dispatchTouchEvent() onTouchEvent()
true 拦截 false继续分发
而一般我们都不需要拦截dispatchTouchEvent()
正常的事件分发机制
如果老大发现这个任务很简单 不需要让下属来完成 则将老大的onInterceptTouchEvent return true
如果老大分发任务 经理一看自己就能完成 于是自己就拦下了 则将经理的onInterceptTouchEvent return true
如果老大把任务发到经理 经理看了这太难了 就分配给我了 我看这任务太重 离职不干了 将MyView onTouchEvent reutrn true
如果你任务完成的 但是经理一看 做的太烂了 经理就不会想老大反馈了 将经理 onTouchEvent reutrn true
主要和大家分享 自己的学习成果 希望能给大家解除疑惑
MyGroupA总经理(老大 最外层) MyGroupB(项目经理 中间层) MyView(自己 最内层)
事件的传递 dispatchTouchEvent() → onInterceptTouchEvent() → onTouchEvent()
ViewGroup有 dispatchTouchEvent() onInterceptTouchEvent() onTouchEvent()
View 有 dispatchTouchEvent() onTouchEvent()
true 拦截 false继续分发
而一般我们都不需要拦截dispatchTouchEvent()
正常的事件分发机制
如果老大发现这个任务很简单 不需要让下属来完成 则将老大的onInterceptTouchEvent return true
如果老大分发任务 经理一看自己就能完成 于是自己就拦下了 则将经理的onInterceptTouchEvent return true
如果老大把任务发到经理 经理看了这太难了 就分配给我了 我看这任务太重 离职不干了 将MyView onTouchEvent reutrn true
如果你任务完成的 但是经理一看 做的太烂了 经理就不会想老大反馈了 将经理 onTouchEvent reutrn true