android 最全面的事件分发机制

 时间:2026-02-14 04:42:50

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、五、点击按钮打印信息,我们看的顺序:activity-->viewGroup-->view,dispatchTouchEvent 和 onTouchEvent 一旦return true,终结事件传递,return false,事件都回传给父控件的onTouchEvent处理。

android 最全面的事件分发机制

  • 牛蒡菇菇炊饭的做法
  • 什么是感冒,感冒有哪些?
  • 德国留学要准备的材料
  • 深圳进口越南木炭报关操作流程及相关问题
  • 蟹肉炒年糕制作过程
  • 热门搜索
    france怎么读 电脑休眠怎么唤醒 鲫鱼汤怎么做 过敏性鼻炎怎么办 脸上毛孔大怎么办 qq号怎么注销 肚子疼怎么回事 白带带血是怎么回事 筇怎么读 隐藏的文件夹怎么找出来