Ø public boolean dispatchTouchEvent (MotionEventev)
此方法一般用于初步处理事件,因为动作是由分发,所以通常会调用super.dispatchTouchEvent.这样就会继续调用onInterceptTouchEvent,再由onInterceptTouchEvent觉得事件的流向。
True: 继续接受动作序列中的后续事件,如down、move、up;
False:不接受动作序列中的后续事件,因此本次后续操作不起作用,如:down后返回false,则move和up都不会被接受,只能接受下个动作。这里 为什么特别指定的down事件呢,因为如果down返回true,说明后续事件会被传递于此,但是move返回false呢?哈哈,这个就不会影响了,因此说down才是关键
Ø public boolean onInterceptTouchEvent(MotionEvent ev)
若返回值为True事件会传递到自己的onTouchEvent();
若返回值为False传递到下一个view的dispatchTouchEvent();
Ø public boolean onTouchEvent(MotionEvent ev)
若返回值为True,事件由自己处理消耗,后续动作序列让其处理;
若返回值为False,自己不消耗事件了,向上返回让其他的父View的onTouchEvent接受处理;
触摸事件的分发顺序:Activity-->顶级View-->顶级View的子View-->. . .-->Target View
触摸事件的响应顺序:TargetView --> TargetView的父容器 --> . . . -->顶级View -->Activity
分为四个类:
MainActivity(Activity)、ChildLayout(LinearLayout)、ParentLayout(LinearLayout)、CustomBottom(Button)



浙公网安备 33010602011771号