深入认识Android中View工作原理之View加载

本文从LayoutInflater的角度探讨Android中View的工作原理。首先介绍了LayoutInflater的获取及其inflate()方法的使用,详细阐述了如何通过解析布局文件创建View对象。接着,分析了createViewFromTag()方法在反射创建View实例中的作用,以及rInflate()方法如何递归遍历并构建DOM结构。最后,讨论了inflate()方法第三个参数attachToRoot的含义和应用场景。
摘要由CSDN通过智能技术生成

既然分析View,咱就先从View加载这块当做入口

先来看一下LayoutInflater的基本用法吧,它的用法非常简单,首先需要获取到LayoutInflater的实例,有两种方法可以获取到,常用的如下:

LayoutInflater layoutInflater = LayoutInflater.from(context);

另外一种写法:

LayoutInflater layoutInflater = (LayoutInflater) context
		.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

第一种就是第二种的简单写法,只是Android给我们做了一下封装而已。得到了LayoutInflater的实例之后就可以调用它的inflate()方法来加载布局了,如下所示:

layoutInflater.inflate(resourceId, root);

inflate()方法一般接收两个参数,第一个参数就是要加载的布局id,第二个参数是指给该布局的外部再嵌套一层父布局,如果不需要就直接传null。这样就成功成功创建了一个布局的实例,之后再将它添加到指定的位置就可以显示出来了。实际真正执行加载Veiw工作的是下面这个方法

public View inflate(XmlPullParser parser, ViewGroup root, boolean attachToR
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值