View的填充解析过程

1、在onCreate生命周期会调用setContentView

2、在activity启动的过程中已经知道了attach方法中window的真正实现是PhoneWindow

3、初始化DecorView(继承与FrameLayout)以及我们要展示界面的父控件

 

 

4、mLayoutInflater的初始化

5、context在activity启动时已经分析其真正实现是ContextImpl,所以获得的LayoutInflater是PhoneLayoutInflater

6、PhoneLayoutInflater(这里主要是为了说明LayoutInflater的真正类)

7、创建View并填充到跟视图

8、开始将View加入到对应的ViewGroup中去

9、rInflateChildren方法

注意rInflateChildren相当于是递归调用,只要下一个标签类型不是end标签或解析深度大于view所在深度且不是XML的结束标签就会获取View并且将该view当做parent递归调用

10、addView,将子视图放入父控件的集合中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值