前言
LayoutInflater意思是:布局填充器,可以把布局填充成View对象,以下两篇文章可以对比着看:
1. 动态加载布局有3种方法
// 第一种
View layoutView = View.inflate(this , R.layout.activity_main , null) ;
// 第2种
layoutView = LayoutInflater.from(this).inflate(R.layout.activity_main , null) ;
// 第3种
layoutView = LayoutInflater.from(this).inflate(R.layout.activity_main , null , false) ;
分析:
1>:点击第一种的View.inflate()进入源码会发现,其实是调用的第2种方法:
public static View inflate(Context context, @LayoutRes int resource, ViewGroup root) {
LayoutInflater factory = LayoutInflater.from(context);
return factory.inflate(resource, root);
}
2>:点击第二种的LayoutInflater.from(this).inflate进入源码会发现,其实是调用的第3种方法:
public View inflate(@LayoutRes int resource, @Nullable ViewGroup root) {