Activity
dispatchTouchEvent 返回true false 将会在自己的dispatchTouchEvent方法中处理,不会向下分发
super.dispatchTouchEvent(ev) 调用super方法 将会分发到ViewGroup中的dispatchTouchEvent方法中处理,
ViewGroup->dispatchTouchEvent处理返回false 将会回到Activity的onTouchEvent中处理,后续事件不会传递给该ViewGroup (移动、抬起事件)
ViewGroup->dispatchTouchEvent处理返回true 将会在自己的dispatchTouchEvent方法中处理,不会向下分发
ViewGroup->dispatchTouchEvent处理返回super 将会调用自身onInterceptTouchEvent方法
ViewGroup->onInterceptTouchEvent 处理返回true 将会调用自身onTouchEvent方法 后续事件不会传递给该方法
ViewGroup->onInterceptTouchEvent 处理返回false super 将会调用子View的dispatchTouchEvent方法
View->dispatchTouchEvent处理返回true 将会在自己的dispatchTouchEvent方法中处理,不会向下分发
View->dispatchTouchEvent处理返回false 将会回到ViewGroup的onTouchEvent中处理,后续事件不会传递给该View (移动、抬起事件)
View->dispatchTouchEvent处理返回super 将会调起自身onTouchEvent 处理
View->onTouchEvent处理返回true 自己消费 事件不会向下传递
View->onTouchEvent处理返回false super 将会调用ViewGroup的onTouchEvent 后续事件不会传递给该View(移动、抬起事件)
ViewGroup->onTouchEvent处理返回true 自己消费 事件不会向下传递
ViewGroup->onTouchEvent处理返回false super 将会调用Activity的onTouchEvent 后续事件不会传递给该ViewGroup(移动、抬起事件)
Activity->onTouchEvent处理返回false super 将会在自己的 onTouchEvent方法中处理 事件结束
网友评论