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方法中处理 事件结束
事件传递机制
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 关于Android触摸事件机制 Android触摸事件机制,开发中都是老生常谈,但是惭愧的是,这么久开发,依然对A...
- 概述 相信很多写过复杂自定义view的人都或多或少遇到一些事件响应不对的坑,在这里通过例子具象地把Android里...