ViewPager嵌套事件传递冲突
onInterceptTouchEvent()的机制规则
1.down事件首先会传递到onInterceptTouchEvent
2.如果ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后,return false,那么后续的move、up等事件将继续先传递给ViewGroup,之后才和down事件一样传递给最终的目标View的OnTouchEvent()处理
3.如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return true,那么后续的move、up等事件将不再传递给onInterceptTouchEvent(),而是和down事件一样传递给该ViewGroup的onTouchEvent()处理,目标View接收不到任何事件
4.如果最终需要处理事件的View的onTouchEvent()返回了false,那么该事件将被传递给其上一层的View的onTouchEvent()处理
5.如果最终需要处理事件的View的onTouchEvent()返回了true,那么后续事件将可以继续传递给该View的onTouchEvent()处理
6.不让父类拦截事件的方法
重写dispatchTouchEvent(MotionEvent ev)
getParent().requestDisallwoInterceptTouchEvent(true);