1.事件拦截主要通过三个方法控制:
public boolean dispatchTouchEvent(MotionEvent ev);
public boolean onInterceptTouchEvent(MotionEvent ev);//只有ViewGroup才会调用
public boolean onTouchEvent(MotionEvent event) ;
2.dispatchTouchEvent返回true,则它本身消费,返回false,则由它的父类消费
3.在ViewGroup中,onInterceptTouchEvent返回true,则调用其本身的onTouchEvent,返回false,则事件继续分发
4.如onTouch方法返回true,则不调用onTouchEvent
5.从Down到无数Move再到Up组合成一个事件序列,正常情况下一个View一旦拦截,则接下的事件都由它来处理
6.某个View如果不处理ACTION_DOWN事件,那么同一事件的其它事件序列不会交给它处理,事件交给父类做
7.某个View如果不消耗除ACTION_DOWN的事件,那么这个事件会消失,不会传给父类去做,最终这些消失的事件传递给
Activity处理