1.touch事件按先后顺序有 ACTION_DOWN ACTION_MOVE ACTION_CANCEL ACTION_UP
如果前一个事件表示阻断,那么后续的事件都不会再向子view传递。
如果前一个事件表示不消费,后续的事件都不会继续下发到这一层。
2.事件分发的顺序 Activity.dispatchTouchEvent() ViewGroup.onIntercerptEnvent() View.onTouchEvent() ViewGroup.onTouchEvent()
3.事件由Activity.dispatchTouchEvent() 开始,ViewGroup.onIntercerptEnvent() 如果不阻断,会传递给子View.onTouchEvent(),如果子View.onTouchEvent()不消耗事件,会传递给 ViewGroup.onTouchEvent()。
如果ViewGroup.onIntercerptEnvent() 阻断,本次事件到此结束,后续事件不再向下传递给子view,会直接传给ViewGroup.onTouchEvent()。
如果ViewGroup.onIntercerptEnvent() 在ACTION_DOWN未阻断,在ACTION_MOVE时阻断,则会给子view补充一个ACTION_CANCEL 事件。