kotlin Android事件分发
事件由Activity的dispatchTouchEvent开始做分发,true表示消费,事件不再继续往上传递。
dispatchTouchEvent事件:由Activity -> ViewGroup -> View
onInterceptTouchEvent事件: 只有ViewGroup存在事件拦截, true为拦截
onTouchEvent: 由View -> ViewGroup -> Activity
1、 自己消费,终结传递。------->return true;
2、 给自己的onTouchEvent处理-------> 调用super.dispatchTouchEvent()系统默认会去调用 onInterceptTouchEvent,在onInterceptTouchEvent return true就会去把事件分给自己的onTouchEvent处理。
3、 传给子View------>调用super.dispatchTouchEvent()默认实现会去调用 onInterceptTouchEvent 在onInterceptTouchEvent return false,就会把事件传给子类。
4、 不传给子View,事件终止往下传递,事件开始回溯,从父View的onTouchEvent开始事件从下到上回归执行每个控件的onTouchEvent------->return false;