欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

View的填充解析过程

程序员文章站 2022-04-09 23:35:44
1、在onCreate生命周期会调用setContentView2、在activity启动的过程中已经知道了attach方法中window的真正实现是PhoneWindow3、初始化DecorView(继承与FrameLayout)以及我们要展示界面的父控件4、mLayoutInflater的初始化5、context在activity启动时已经分析其真正实现是ContextImpl,所以获得的LayoutInflater是PhoneLayoutInflater.....

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

View的填充解析过程

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

View的填充解析过程

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

 

View的填充解析过程

View的填充解析过程

 

4、mLayoutInflater的初始化

View的填充解析过程

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

View的填充解析过程

View的填充解析过程

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

View的填充解析过程

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

View的填充解析过程

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

View的填充解析过程

9、rInflateChildren方法

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

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

View的填充解析过程

View的填充解析过程

本文地址:https://blog.csdn.net/pydlxh/article/details/107169717