您的位置:首页 > 移动开发 > Android开发

Android控件构架

2016-04-22 11:37 357 查看
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的类型。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  控件构架