一直都想写自己的博客,学了将近两年的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()


更多相关文章

  1. Android监听器实现(一)Broadcast方式监听系统事件
  2. Android新建项目与简易Button事件
  3. Android的事件处理机制之基于监听的事件处理
  4. Android(安卓)MVC 架构详解
  5. Android电话系统
  6. # Android的按键消息分发机制
  7. android onkeydown()简介
  8. Android中EventBus介绍、使用及源码分析
  9. [Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分

随机推荐

  1. 如何用Android webview播放HTML5 video标
  2. 浅谈android中的自定义封装易用的Dialog
  3. 解决部分Android设备(支持OTG)无法设别US
  4. Android生成pdf文件之PdfDocument及踩过
  5. Android遍历本地视频文件加过滤
  6. 00003 不思议迷宫.0011:Android新版中的Lu
  7. 如何建立android的C/C++交叉编译环境
  8. Android视频编码和直播推流教程-杨万里-
  9. android 系统架构学习
  10. [来自异次元] 选择适合自己的 Android (