阅读背景:

Android事件分发机制源码剖析(2)—顶层View对点击事件的分发过程

来源:互联网 

点击事件到达顶层View(一般是一个ViewGroup)以后,会调用ViewGroup的dispatchTouchEvent方法,然后逻辑是这样的:如果顶层ViewGroup拦截事件,即onInterceptTouchEvent返回true,则事件交由ViewGroup处理,这时如果ViewGroup的mOnTouchListener被设置,则onTouch会被调用,否则onTouchEvent会被调用。也就是说,如果都提供的话,mTouch会屏蔽掉onTouchEvent。在onTouchEvent中,如果设置了mOnClickListener,则onClick会被调用。如果顶级ViewGroup不拦截事件,则事件会传递给它所在的点击事件莲上的子View,这是子View的dispatchTouchEvent会被调用。到此为止,事件已经从顶级View传递给了下一层View,接下来的传递过程和顶级View是一致的,如此循环,完成整个事件的分发。点击事件到达顶层View(一般是一个ViewGroup)以后,会调用ViewGroup的dispat




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: