Android 事件传递我的理解

1. Android事件传递涉及到Activity, View, ViewGroup

2. 事件分发(dispatchTouchEvent) 

    该事件为Activity事件(true,false 都不再继续分发)

    该事件如果不为Activity事件(true: 事件被消费掉,不再分发, false 事件传递给子视图)

   super.dispatchTouchEvent 事件没有消费继续分发,该事件如果为ViewGroup及其子类,则调用事件拦截

3. 事件的拦截(onInterceptTouchEvent) 其中只有ViewGroup及其子类才有事件拦截方法( public boolean onInterceptTouchEvent(MotionEvent ev) )

                                       true: 表示事件拦截,不再分发给子视图,同时交由 onTouchEvent方法消费。

                                       false,super.onInterceptTouchEvent 分发给子视图

4. 事件的消费(onTouchEvent)

                                      ture: 事件被消费掉,不再上传到父视图

                                      super.onTouchEvent 事件处理结束

                                      false: 事件没有被消费,上传到父视图的onTouchEvent处理

猜你喜欢

转载自my.oschina.net/u/2933456/blog/1648403