Android控件构架
2016-04-22 11:37
357 查看
android中每个控件都会在界面中占得一块矩形的区域。
控件被分为两类: ViewGroup与 View控件。
ViewGroup控件中可以作为父控件包含多个控件,
并管理其中的子View控件,通过ViewGroup,整个控件结构就成了一个树形
结构 。如图
![](https://img-blog.csdn.net/20160422111003828)
通常情况下,我们使用
setContentView(R.layout.xxx);方法来设置一个布局,在调用该方法后,布局
内容才真正的显示出来。
首先,看一下Android的架构图。
![](https://img-blog.csdn.net/20160422111656331)
每个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的类型。
控件被分为两类: 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应用中使用运行时注解
- android中RadioButton中的自带的圆圈如何去掉,两种方法,一种.xml、一种代码中
- Android LaunchMode案例篇
- Android studio 下的svn配置使用
- Android miniTwitter登录界面开发实例
- 解决Android端融云无法初始化(程序一运行就崩溃),定位在RongIM.init(this);
- androidStudio 中文编译错误: GBK 的不可映射字符。(针对网上通用资料无法解决办法)
- android中Imagebutton实现两张图片之间的点击来回切换
- 用GDB远程调试android native程序
- Java、Android多线程、线程池
- android在线边缓存边播放mp4
- android热修复--适合做sdk的项目
- android图片处理方法(待整理)
- Android界面编辑经验之谈
- android中textview中文字显示过长、使其用省略号代替,点击显示全部
- Android Support Design 之 CoordinatorLayout
- android开发之GestureDetector手势识别(调节音量、亮度、快进和后退)
- Android下打印调试堆栈方法
- Android-->EventBus 3.0新版使用说明(及其使用方法)
- Android点击空白区域,隐藏输入法软键盘