Android控件构架

  1. android中每个控件都会在界面中占得一块矩形的区域。
  2. 控件被分为两类: ViewGroup与 View控件。
  3. ViewGroup控件中可以作为父控件包含多个控件,
  4. 并管理其中的子View控件,通过ViewGroup,整个控件结构就成了一个树形
  5. 结构 。如图
    Android控件构架_第1张图片
  6. 通常情况下,我们使用
  7. setContentView(R.layout.xxx);方法来设置一个布局,在调用该方法后,布局
  8. 内容才真正的显示出来。
  9. 首先,看一下Android的架构图。
  10. Android控件构架_第2张图片
  11. 每个Activity都包含了一个Window对象,在Android中Window对象通常由PhoneWindow来实现。PhoneWindow将一个DecorView设置为整个应用窗口的跟View。
  12. DecorView作为窗口的顶层视图,封装了一些窗口的通用方法。
  13. DecorView将要显示的内容呈现在了PhoneWindow上,这里面的所有的监听事件,
  14. 都是通过WindManagerService来进行接收的,并通过Activity对象来回调相应的
  15. onClickListener()。在显示上,它将屏幕分为两个部分,一个是TitleView,另一个是ContentView 。它是一个Id为Framelayout,activity_main就设置在这样一个Framelayout里。
  16. DecorView视图树中第二层装载了一个LineatLayout,这一层会根据设置不同的参数来设置不同的布局,如最常用的布局—-TitleBar ,如果用户设置requestWindowFeature(Window。FEATURE_NO_TITLE);那么就只剩下contentView,这也就解释了为什么要在setContentView()之前
  17. 来设置bar的类型。
    Android控件构架_第3张图片

你可能感兴趣的:(控件构架)