inflate方法

博客内容介绍了LayoutInflater的inflate方法的四种重载形式,重点关注attachToRoot参数的影响。讲解了attachToRoot为false时的含义,并指出inflate方法常用的两种调用方式的区别。方式2可能导致item布局的根视图属性被忽略,推荐使用方式3来保持视图参数的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LayoutInflater的inflate方法重载了四种调用方式,分别为:

public View inflate(int resource, ViewGroup root)
public View inflate(int resource, ViewGroup root, boolean attachToRoot)
public View inflate(XmlPullParser parser, ViewGroup root)
public View inflate(XmlPullParser parser, ViewGroup root, boolean attachToRoot)

参数attachToRoot, 是否将载入的视图绑定到根视图中,即是否把选取的视图加入到root中。false 的意思就是不添加到root中。可能需要我们手动添加。
Whether the inflated hierarchy should be attached to the root parameter? If false, root is only used to create the correct subclass of LayoutParams for the root view in the XML.

inflate()常用方法为:

1.View.inflate(mContext, R.layout.xxx_layout, null);
2.LayoutInflater.from(mContext).inflate(R.layout.xxx_layout, null);        
3.LayoutInflater.from(mContext).inflate(R.layout.xxx_layout, parent, false);

1调用2,2调用3。2和3的区别主要在:采用方式2填充视图,item布局中的根视图的layout_xxx属性会被忽略掉,然后设置成默认的包裹内容方式,如果我们想保证item的视图中的参数不被改变,我们需要方式3进行视图的填充。或者设置item布局的根视图为包裹内容,然后设置内部控件的高度等属性,这样用方式2填充视图就ok了。

推荐使用方式3!

参考:

inflate方法两个参数和三个参数的区别

关于inflate的第3个参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值