图解Android事件分发

来源:互联网 发布:为知笔记导出 编辑:程序博客网 时间:2024/06/08 08:19

一.没有ViewGroup时简单布局的情况下:

(图中仅包括一个Activity:MainActivity,一个Button:RTButton)



二.含有ViewGroup的布局情况:

(加入了一个ViewGroup:RTLayout,并且把RTButton加入到RTLayout布局中)



三.总结:

  • Android中事件传递按照从上到下进行层级传递,事件处理从Activity开始到ViewGroup再到View。
  • 事件传递方法包括dispatchTouchEventonTouchEventonInterceptTouchEvent,其中前两个是View和ViewGroup都有的,最后一个是只有ViewGroup才有的方法。这三个方法的作用分别是负责事件分发、事件处理、事件拦截。
  • onTouch事件要先于onClick事件执行,onTouch在事件分发方法dispatchTouchEvent中调用,而onClick在事件处理方法onTouchEvent中被调用,onTouchEvent要后于dispatchTouchEvent方法的调用。

0 0
原创粉丝点击