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()才能正常分发
本文深入探讨了Android中Layout继承ViewGroup时的点击事件分发流程,包括ViewGroup.dispatchTouchEvent()与View.dispatchTouchEvent()的具体作用,以及如何正确处理事件分发以确保用户体验。
1509

被折叠的 条评论
为什么被折叠?



