android提供一个LayoutInflater类允许我们动态加载界面设计文件,并生成为一个View实例。 要在一个Activity中获得一个实例3两种方式,
1. 通过from方法获取
2. 通过getSystemService方法获取
3.
实质上是一样的,从源码可以看出。
在获得了LayoutInflater实例之后就可以调用其inflater方法来加载界面设计文件(layout)生成View了。
这里我们加载layout文件夹下的layoutinflater.xml文件。
1. 通过from方法获取
LayoutInflater flater = LayoutInflater.from(this);
2. 通过getSystemService方法获取
LayoutInflater LayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
3.
LayoutInflater flater = getLayoutInflater();
实质上是一样的,从源码可以看出。
/**
* Obtains the LayoutInflater from the given context.
*/
public static LayoutInflater from(Context context) {
LayoutInflater LayoutInflater =
(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (LayoutInflater == null) {
throw new AssertionError("LayoutInflater not found.");
}
return LayoutInflater;
}
在获得了LayoutInflater实例之后就可以调用其inflater方法来加载界面设计文件(layout)生成View了。
View vs = flater.inflate(R.layout.layoutinflater, null);
this.setContentView(vs);
这里我们加载layout文件夹下的layoutinflater.xml文件。