Android群英传 第三章-控件架构与自定义控件

来源:互联网 发布:ubuntu 壁纸 编辑:程序博客网 时间:2024/05/21 21:33

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.安卓界面的架构图

  1. 每个Activity包含一个Window对象(一般用PhoneWindow来实现)
  2. PhoneWindow将DecorView作为根View(作为顶层视图,并且封装了窗口操作的通用方法),进行了具体内容的呈现
  3. 所有View的监听事件,通过WindowManagerService进行接收,通过Activitty进行onClickListener的回调
  4. DecorView分为两部分,TitleView和ContentView,后者是一个ID为content的FrameLayout
  5. 用户可以通过requestWindowFeature(Window.FEATURENO_TITLE)进行全屏设置,视图树中布局就只有Content了,因此一定要在setContentView之前设置
  6. 在onCreate()调用setContentView()后,ActivityManagerService会调用onResume(),此时系统才会将DecorView添加到PhoneWindow中,并显示出来
    这里写图片描述
0 0