一.没有ViewGroup时简单布局的情况下:
(图中仅包括一个Activity:MainActivity,一个Button:RTButton)
二.含有ViewGroup的布局情况:
(加入了一个ViewGroup:RTLayout,并且把RTButton加入到RTLayout布局中)
三.总结:
- Android中事件传递按照从上到下进行层级传递,事件处理从Activity开始到ViewGroup再到View。
- 事件传递方法包括
dispatchTouchEvent
、onTouchEvent
、onInterceptTouchEvent
,其中前两个是View和ViewGroup都有的,最后一个是只有ViewGroup才有的方法。这三个方法的作用分别是负责事件分发、事件处理、事件拦截。 - onTouch事件要先于onClick事件执行,onTouch在事件分发方法dispatchTouchEvent中调用,而onClick在事件处理方法onTouchEvent中被调用,onTouchEvent要后于dispatchTouchEvent方法的调用。