android 最全面的事件分发机制

Android事务分发机制一向都是一个麻烦点 , 很我开辟者对此都一头雾水 , 下面用图文来解决下我的理解 , 但愿这篇文章可以或许给你点纷歧样的看法 。

android 最全面的事件分发机制

文章插图

需要这些哦
android studio
方式/
1一、分发机制别离:Activity事务分发机制、ViewGroup事务分发机制、View事务分发机制 , 事务分发是dispatchTouchEvent , 事务阻挡是onInterceptTouchEvent , 事务的响应是onTouchEvent 。

android 最全面的事件分发机制

文章插图

2二、编写ViewGroup的控件 担当LinearLayout 然后重写 dispatchTouchEvent , onInterceptTouchEvent , onTouchEvent 。 在每个方式中都打印一下执行代码 。 如下图 。

android 最全面的事件分发机制

文章插图

3三、编写View的控件 担当Button 然后重写 dispatchTouchEvent , onTouchEvent 。 注重View是没有onInterceptTouchEvent阻挡事务的 。 如下图 。

android 最全面的事件分发机制

文章插图

4四、起首看一下Activity的dispatchTouchEvent源码:上面这段代码 , 关头的就是:getWindow().superDispatchTouchEvent(ev) 。 如下图 。

android 最全面的事件分发机制

文章插图

5【android 最全面的事件分发机制】五、点击按钮打印信息 , 我们看的挨次:activity-->viewGroup-->view,dispatchTouchEvent 和 onTouchEvent 一旦return true,终结事务传递,return false,事务都回传给父控件的onTouchEvent处置 。

android 最全面的事件分发机制

文章插图

注重事项请点个赞

以上内容就是android 最全面的事件分发机制的内容啦 , 希望对你有所帮助哦!

    推荐阅读