android事件分发机制

179 阅读1分钟

1,基本会遵从 Activity->ViewGroup->View 这一流程进行事件分发

   activity的事件分发机制:

       调用Activity.dispatchTouchEvent() 一般情况下点击事件为Down

->  getWindow.superDispatchTouchEvent()

->  mDecor.superDispatchTouchEvent()即ViewGroup.dispatchTouchEvent,实现了事件从Activity到ViewGroup的传递   如下图:

      


  ViewGroup的事件分发机制:



  View的事件分发机制:


                                         

2、Android 事件分发总是遵循 Activity => ViewGroup => View 的传递顺序;
3、onTouch() 执行总优先于 onClick()