网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 生活知识 知识问答

android 最全面的事件分发机制

时间:2024-10-25 17:14:59

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 tru髫潋啜缅e,终结事件传递,return false,事件都回传给父控件的onTouchEvent处理。

android 最全面的事件分发机制
© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com