Android 读书笔记
声明:本笔记是本人学习过程中的记录,摘取自徐宜生的《Android群英传》,有兴趣的可以购买此书籍学习。
第三章 Android控件架构与自定义详解
- Android中的每一个控件都会在界面占据一块
矩形的区域,在Android中控件大概分为两类ViewGroup控件和View控件。ViewGroup作为父控件可以包含多个View控件,并管理其包含的控件。通过ViewGroup控件,整个界面形成了一个控件树,上层控件负责下层控件的测量和绘制,并传递交互事件。在每棵控件树的顶部,都有一个ViewParent 对象,即控件树的核心,所有的交互管理事件都由他来统一调度和分配。 - Android界面架构图:
View树结构图
UI界面架构图
- 我们看UI界面架构图可以知道,每个Activity都包含一个
Window对象(在Android中通常由PhoneWindow来实现)。 - PhoneWindow将一个
DecorView设置为整个应用窗口的根View。 -
DecorView作为窗口的顶层视图,封装了一些窗口操作的通用方法。DecorView将要显示具体内容都呈现在PhoneWindow上,这里所有的View的监听事件都通过WindowManagerService来进行接收,并通过Activity对象来回调相应的OnClickListener。在显示上,它将屏幕分为两部分,一个是TitleView,一个是ContentView【它是一个ID为content的Framelayout,activity_main.xml就是设置在Framelayout里的】。 - 标准视图树
标准视图树
- 在代码中,当程序在
onCreate()方法中调用setContentView()方法后,ActivityManagerService会回调OnResume()方法,此时系统会把整个DecorView添加到PhoneWindow中,并让其显示出来














网友评论