事件分发总结

事件分发机制总结

U形流程

进行分发的View有 Activity ViewGroup View

dispatchTouchEvent

  • 返回true

    全部消费

  • 返回false

    返回上一层的onTouchEvent

  • super调用

    Activity 向下一层传递
    ViewGroup向onInterceptTouchEvent传递
    View 向onTouchEvent传递

onInterceptTouchEvent

只有ViewGroup有这个方法

  • 返回true 调用onTouchEvent
  • 返回false和super 向下一层传递

onTouchEvent

所有View都有这个方法

  • 返回true 消费掉
  • 返回false和super 向上一层传递

ACTION_DOWN

根据事件传递机制进行传递

ACTION_MOVE && ACTION_UP

dispathTouchEvent传到哪一层中断就传递到那一层的dispatchTouchEvent
onTouchEvent传到哪一层中断就在那一层的onTouchEvent结束传递。

谢谢您的鼓励~