3.1.控件架构
Android空间分为两类 ViewGroup控件和View控件
如:3.1
上层控件负责下层控件的测量和绘制,并且传递交互事件。
通常在Activity中使用findViewById()方法,就是在空间树中以树的深度优先遍历来查找
通常在setContenView()之后,布局内容才真正显示出来
View objects都在Android.view package
这些objects有Editext,Spinner,TextView这些action(动作类)的;也有AnalogClock(时针、分针的),Gallery(画廊效果),DataPicker,TimePicker,and VideoView
2.安卓界面的架构图
- 每个Activity包含一个Window对象(一般用PhoneWindow来实现)
- PhoneWindow将DecorView作为根View(作为顶层视图,并且封装了窗口操作的通用方法),进行了具体内容的呈现
- 所有View的监听事件,通过WindowManagerService进行接收,通过Activitty进行onClickListener的回调
- DecorView分为两部分,TitleView和ContentView,后者是一个ID为content的FrameLayout
- 用户可以通过requestWindowFeature(Window.FEATURENO_TITLE)进行全屏设置,视图树中布局就只有Content了,因此一定要在setContentView之前设置
- 在onCreate()调用setContentView()后,ActivityManagerService会调用
onResume(),此时系统才会将DecorView添加到PhoneWindow中,并显示出来
本文介绍了Android界面架构的基本组成,包括ViewGroup与View控件的区别,以及它们如何在Activity中协同工作。详细阐述了PhoneWindow、DecorView的角色及DecorView内部TitleView与ContentView的组织方式。此外还介绍了全屏设置的方法及视图树的构建过程。
2279

被折叠的 条评论
为什么被折叠?



