Android onTouchEvent、dispatchTouchEvent、onInterceptTouchEvent的传递规则

继承自View的:onTouchEvent、dispatchTouchEvent

继承自ViewGroup的:onTouchEvent、dispatchTouchEvent、onInterceptTouchEvent


dispatchTouchEvent:用于派发touch event,一般不需要重写。

onInterceptTouchEvent:用于拦截touch event,返回false表示不拦截,touch event会一直向容器下的子view派发下去,执行子view的dispatchTouchEvent;

返回true,表示拦截,即不再向子view派发,而会直接执行 当前ViewGroup中的 onTouchEvent

onTouchEvent: handle touch event,返回false,表示touch event 未处理完毕,继续交由父View的onTouchEvent来处理;

返回true,表示自己处理好了,不再向上传递


Activity可以重写dispatchTouchEvent, 这是touch event 的入口。


你可能感兴趣的:(android)