Android事件分发机制-自己理解以后的阐述
16lz
2021-01-26
一直都想写自己的博客,学了将近两年的Android感觉自己的,每次遇到问题都总结成了word写成了文档,后来发现自己的总结有了12万字之多,但是发现在word上写还是很麻烦的,字体或者行距啥的得自己手动调整,一直否通过CSDN来学习,但是一直没用它来写自己的博客,现在发现其实博客这个东西还是不错的,马上开始我的android博客搬家之旅。
首先我们谈谈事件分发本质
答:将点击事件(MotionEvent)向某个View进行传递并最终得到处理
即当一个点击事件发生后,系统需要将这个事件传递给一个具体的View去处理。这个事件传递的过程就是分发过程。
然后想想事件是在哪些对象之间进行传递?
答:Activity、ViewGroup、View
一个点击事件产生后,传递顺序是:Activity>ViewGroup>View
Android的UI界面是由Activity、ViewGroup、View及其派生类组合而成的
View是所有UI组件的基类
一般Button、ImageView、TextView等控件都是继承父类View
ViewGroup是容纳UI组件的容器,即一组View的集合(包含很多子View和子VewGroup),1、其本身也是从View派生的,即ViewGroup是View的子类。
2、是Android所有布局的父类或间接父类:项目用到的布局(LinearLayout、RelativeLayout等),都继承自ViewGroup,即属于ViewGroup子类。
3、与普通View的区别:ViewGroup实际上也是一个View,只不过比起View,它多了可以包含子View和定义布局参数的功能。
最后,事件分发过程由哪些方法协作完成?
答:dispatchTouchEvent() 、onInterceptTouchEvent()和onTouchEvent()
更多相关文章
- Android监听器实现(一)Broadcast方式监听系统事件
- Android新建项目与简易Button事件
- Android的事件处理机制之基于监听的事件处理
- Android(安卓)MVC 架构详解
- Android电话系统
- # Android的按键消息分发机制
- android onkeydown()简介
- Android中EventBus介绍、使用及源码分析
- [Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分