activity界面架构即activity视图层结构

本文介绍了Android Activity的视图架构,包括Window、PhoneWindow、DecorView及其内部结构。重点讲解了为何在设置布局前需要使用requestWindowFeature去除标题,以及视图加载的顺序和结构,帮助理解Activity界面的构建过程。

之前看郭霖文章讲LayoutInflater 的时候,有讲到在加载的layout中最外层布局设置绝对宽高是无效的。我们在Activity中setContenView()的时候,其实质也是利用的LayoutIflater 加载的Activity布局。而这时设置的绝对宽高是有效的。是因为在setContentView()的时候,系统会默认在外面包一层FrameLayout。郭霖还用log把当前Activity布局的父布局打印了出来。

当时看到这个心里面就很疑问,为什么要在外面默认加一层父布局呢?后来看到Android群英传,才知道,原来根本不是什么默认加了一层父布局,而是和Activity界面的架构有关。下面就先说下Activity的视图架构。

先上图:


就是这张图,Activity的UI架构图(图是网上找的)。从图中可以清楚的看出,Activity的UI结构。其实每个Activity中都包含一个Window对象,通常,Android中的Window是由PhoneWindow实现的。而PhoneWindow又将一个DecorView设置为整个窗口的根View(

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值