Android控件架构与自定义控件
来源:互联网 发布:淘宝和田玉店铺 编辑:程序博客网 时间:2024/06/03 19:14
1.Android控件架构
Android中的控件分为两类,ViewGroup和View。
ViewParent
|
ViewGroup可以作为父控件管理包含的View控件。上层控件负责下层子空间的测量与绘制,并传递交互事件。使用Activity的findViewById()方法就是在控件树中使用深度优先遍历来查找对应的元素。每个控件树的顶部都有一个ViewParent对象,为控件树的控制核心,所有的交互管理事件都有它来统一调度和分配,从而对整棵树进行整体控制。
通常情况下,在Activity中要使用setContentView()方法设置布局,在调用该方法后,布局内容才会真正的显示出来(其实真正显示出来是在onResume()后完成的),Activity界面架构图如下:
每个Activity都包含一个Window对象,通常由PhoneWindow来实现。PhoneWindow将一个DecorView作为整个窗口的根View,DecorView作为窗口界面的顶层试图,封装了一些窗口操作的通用方法。显示上,DecorView中将屏幕分成了两个部分,TitleView和ContentView。所以其实Activity中其实setContentView设置的就是ContentView的布局,ContentView是一个Id为content的FrameLayout,activity_main.xml就是设置的这个FrameLayout里面。
如果想不显示TitleView 可以使用requestWindowFeature方法,但是这一步一定要在setContentView之前。
代码中onCreate()中调用了setContentView()方法后,ActivityManagerService会回调onResume()方法,此时系统才会把整个DecorView添加到PhoneWindow中,并让其显示出来完成绘制。
2.View的测量
Android在onMeasure中完成对控件的测量。
- Android控件架构与自定义控件详解
- Android控件架构与自定义控件(一)
- Android控件架构与自定义控件(二)
- Android控件架构与自定义控件详解
- Android控件架构与自定义控件详解
- Android控件架构与自定义控件
- Android控件架构与自定义控件
- Android 控件架构与自定义控件详解
- Android 控件架构与自定义控件(一)
- Android 控件架构与自定义控件(二)
- Android 控件架构与自定义控件(三)
- Android 控件架构与自定义控件(四)
- Android控件架构与自定义控件
- Android群英传之Android控件架构与自定义控件
- Android控件架构与自定义控件详解(一)
- 3.Android群英传读书笔记-控件架构与自定义控件
- Android群英传 第三章-控件架构与自定义控件
- 第3章 Android控件架构与自定义控件详解
- android中自动杀死后台进程的方法
- Android 系统开发系列三
- C++ typedef用法小结
- 创建带Collection的Mybatis sql语句
- 非常值得收藏的 IBM SPSS Modeler 算法简介
- Android控件架构与自定义控件
- mybatis-paginator+mysql 简单案例
- Unity根据变量来添加脚本
- 判断用户输入的数字是否有重复(Duplicate Elimination)
- iOS学习项目(14-UIPicker&UIDatePicker)
- [Rust]学习笔记-序
- 使用Https
- XtraGrid 主/从关系使用
- 设置让root用户无法直接登录