Android群英传读书笔记-----控件架构

做android也有一段时间了,但是还是对控件架构不甚了解,读了这本书之后,对android的控件架构有了新的认识。废话不多说,记录一下,我学到的东西。

  1. android的控件大致就是view 和viewGroup两类,通过viewGroup,整个界面形成一个控件树,上层控件负责下层控件的测量和绘制,并传递交互事件,每棵控件树都有一个顶节点viewParent,所有的交互事件都有它来分配和调度,如图Android群英传读书笔记-----控件架构_第1张图片
  2. android 界面的架构图:
    Android群英传读书笔记-----控件架构_第2张图片
    如果用户设置requestWindowFeature(Window.FEATURE_NO_TITLE)来设置全屏显示,视图树中的布局就没有titleView了,requestWindowFeature()必须在setContentView之前调用,才有效,看下图便容易理解了:
    Android群英传读书笔记-----控件架构_第3张图片
    因此,如果是在setContentView之后才调用requestWindowFeature,此时titlebar已经绘制出来了,没有效果,所以必须之前调用。
    当程序在oncreate()中调用setContentView后,ActivityManagerService会回调OnResume,此时系统才会把整个DectorView添加到PhoneWindow中,并让其显示出来,从而最终完成界面的绘制。

你可能感兴趣的:(UI界面架构)