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()才能正常分发