事件分发学习笔记

来源:互联网 发布:手机怎么破解网络限制 编辑:程序博客网 时间:2024/05/21 22:23

事件分发学习笔记

1.

ViewGroup的相关事件有三个:onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent。

View的相关事件只有两个:dispatchTouchEvent、onTouchEvent。


2.

Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。(这就是为什么在activity中有onTouchEvent())

在Activity传递事件给ViwGroup的流程是这样的:Activity->Window-> DecorView->ViewGroup。


3.图
viewgroup的dispatchTouchEvent()是这样的:

可见他的返回结果取决于childView的dispatchTouchEvent(),然后把自己的dispatchTouchEvent()结果返回给上一级的viewgroup。

view的dispatchTouchEvent()是这样的:

 然后把自己的dispatchTouchEvent()结果返回给上一级的viewgroup。
可见他的返回结果取决于自己的touchEvent()(或者touchListener)。

viewgroup的分发逻辑流程图

0 0