事件分发
前提:
1.有三个层级,老板、主管、员工;
2.三个方法(Viewgroup有三个、View有两个 其中没有onInterceptTouchEvent)
dispatchTouchEvent(MotionEvent ev)
onInterceptTouchEvent(true,交给OnTouch,false交给子控件的dispatch)
onTouchEvent(ture消费,false返回父组件消费)
3.三个主要消费方法DOWN、MOVE、UP,其中onInterceptTouchEvent时没有走MOVE和UP方法。
类似于(Activity)->(PhoneWindow)->(DecorView)
1、不设置条件
1.1什么都不设置,发现并不走Move和Up,如图:
2、设置老板的条件
2.1老板dispatchTouchEvent 返回true,如图:
2.2老板onInterceptTouchEvent返回true,如图:
2.3老板onTouchEvent返回true,如图:
3、设置主管条件
3.1主管dispatchTouchEvent 返回true,如图:
3.2主管onInterceptTouchEvent返回true,如图:
3.3主管onTouchEvent返回true,如图:
4、设置员工条件
4.1员工dispatchTouchEvent 返回true,如图:
4.2员工onTouchEvent返回true,如图:
分发完DOWN事件,再按循序分发MOVE(由于太长省略了),最后分发UP事件。