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