View Touch 事件分发
16lz
2021-01-25
Android 中Layout 继承 ViewGroup,布局中在嵌套view
点击事件分发流程是这样的:
ViewGroup.dispatchTouchEvent() 分发viewgroup及子view的点击事件
View.dispatchTouchEvent() 分发view的点击事件
换句话说点击事件的总入口是ViewGroup.dispatchTouchEvent(),返回值 true=接受持续不断的touch事件,false=只接受一次touch事件
ViewGroup.dispatchTouchEvent() 会调用ViewGroup.onInterceptTouchEvent() 询问是否需要拦截,true=ViewGroup.onTouch(), false=View.dispatchTouchEvent()
dispatchTouchEvent 的返回值 是综合处理 onIntercepTouchEvent() 和onTouchEvent后的结果
值得注意的是,继承ViewGroup及View后的事件分发是由父view分发的,需要调用super.dispatchTouchEvent()才能正常分发
更多相关文章
- 安卓开发:TabHost 选项卡的基本用法
- 【30篇突击 android】源码统计 十七
- onKeyDown事件与Layout坐标交互
- Android(安卓)Material Design控件学习(一)——TabLayout的用法
- Android(安卓)Material Design Library系列教程(四)
- 【Android(安卓)开发教程】注册事件监听器
- Android学习笔记之相对布局与表格布局
- 仿苹果弹性布局
- Android(安卓)自定义View学习(十一)——ViewGroup测量知识学习