Android事件分发、ViewPager子view冲突

ViewPager子View滑动事件冲突解决

偶尔善良 提交于 2019-12-07 04:06:52
事件分发:public boolean dispatchTouchEvent(MotionEvent ev) Android事件以隧道方式逐层向下传递。事件首先由dispatchTouchEvent方法分发,分发逻辑如下: return true;由该dispatchTouchEvent方法消费并且停止分发。 return false;返回给父view的onTouch方法处理 return super .dispatchTouchEvent(ev);有当前view的 onInterceptTouchEvent()拦截处理。 事件拦截: public boolean onInterceptTouchEvent(MotionEvent ev) 当前view拦截到事件后,处理流程如下: return false;表示放行由当前view的子view的dispatchTouchEvent分发处理。 return true或return super.onInterceptTouchEvent()表示拦截该事件,由该View的Ontouch方法处理。 事件响应: public boolean onTouchEvent(MotionEvent ev) return true表示消费。 return false或return super.onTouch(