转自:http://dev.10086.cn/cmdn/wiki/index.php?doc-view-6066.html
Inflater英文意思是膨胀,在Android中应该是扩展的意思吧。
LayoutInflater的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!而 findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。
她可以有很多地方可以使用,如BaseAdapter的getView中,自定义Dialog中取得view中的组件widget等等。
它的用法有2种:
第一种方式:
package org.hwq.layoutinflater;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class Main extends Activity {
EditText et;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//LayoutInflater第一种使用方式
LayoutInflater inflater = LayoutInflater.from(this);
//取出main.xml实例的view
View view = inflater.inflate(R.layout.main, null);
//这里以前我们是使用了:this.findViewById(R.id.editText1);
et = (EditText) view.findViewById(R.id.editText1);
Toast.makeText(this, et.getHint(),0).show();
}
}
第二种方式:
package org.hwq.layoutinflater;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class Main extends Activity {
EditText et;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//LayoutInflater第二种使用方式
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
//取出main.xml实例的view
View view = inflater.inflate(R.layout.main, null);
//这里以前我们是使用了:this.findViewById(R.id.editText1);
et = (EditText) view.findViewById(R.id.editText1);
Toast.makeText(this, et.getHint(),0).show();
}
}
对比发现其实就改了一行。
LayoutInflater inflater = LayoutInflater.from(this);
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
查看源代码你会发现LayoutInflater.from()方法调用如下:
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;
}
分享到:
相关推荐
Android 中LayoutInflater(布局加载器)之实战篇 博客的Demo 博客地址: http://blog.csdn.net/l540675759/article/details/78112989 两种方式实现小红书的引导页: (1)自定义View (2)自定义LayoutInflater....
在Android开发中,LayoutInflater是一个非常关键的工具,它主要用于将XML布局文件转换为视图对象。这个过程称为“实例化”或“.inflate”。通过LayoutInflater,我们可以动态地在运行时加载和插入用户界面元素,这...
测试:Android 中LayoutInflater的使用 注意:Aj_04是用了调用另外一个界面,要注意调用的方法, 还一定还要在AndroidManifest.xml 中加上呢句:<activity android:name="LayoutInflaterDemo"></activity>
在Android开发中,`LayoutInflater` 是一个至关重要的工具,它负责将XML布局文件转换为视图对象(View objects)。这个过程被称为布局的“实例化”或“膨胀”。`LayoutInflater` 提供了一种灵活的方式来动态地加载和...
Android 中LayoutInflater.inflate()方法的介绍 Android 中LayoutInflater.inflate()方法是Android开发中最常用的方法之一,用于将布局文件转换成View对象。该方法是LayoutInflater类中的一个成员方法,主要用于将...
Android中LayoutInflater.inflater()的正确打开方式 LayoutInflater是Android中用于加载布局文件的核心类,通过LayoutInflater的inflate()方法可以将布局文件加载到内存中,并返回对应的View对象。但是,很多开发者...
在Android开发中,`LayoutInflater`是一个非常重要的工具类,它主要用于将XML布局文件转换为视图对象,使得我们可以动态地将界面元素添加到应用程序中。`LayoutInflater`是Android框架的一部分,它极大地增强了UI...
在Android开发中,`LayoutInflater`是一个至关重要的工具类,它主要负责将XML布局文件转换成View对象并添加到视图层次结构中。`LayoutInflater`的名字来源于"Layout Inflater",正如描述中提到的,它是对当前...
Android高手进阶教程之----Android 中LayoutInflater的使用! .doc Android高手进阶教程之----Android 中MenuInflater的使用(布局定义菜单)! .doc Android高手进阶教程之----Android 中Preferences的使用! .doc ...
down-test-Android 获得 LayoutInflater 实例的三种方式
在Android应用开发中,我们通常使用LayoutInflater来动态地加载和插入布局,这在创建自定义视图、处理动态数据或者在运行时创建视图时非常有用。本文将深入解析LayoutInflater的工作原理,并提供实例代码来帮助理解...
arser.START_TAG && type != XmlPullParser.END_DOCUMENT) { // Do nothing } if (type != XmlPullParser.START_TAG) { throw new InflateException(parser.getPositionDescription() + ": No start tag found!...
总结起来,`layoutinflater中嵌套layoutinflater`是一种常见的Android开发技巧,用于实现动态加载和构建复杂的视图结构。通过理解和熟练运用`LayoutInflater`,开发者可以创建出更灵活、更具有交互性的用户界面。...
在Android开发中,`LayoutInflater` 是一个至关重要的组件,它负责将XML布局文件转换为视图对象并添加到视图层次结构中。本示例demo是专为新手设计的,旨在帮助开发者理解`inflate()`方法的不同用法及其参数的含义。...
首先,我们需要理解`LayoutInflater`在Android中的角色。`LayoutInflater`是负责将XML布局文件转换为视图对象(View)的关键类。它从资源文件中读取布局描述,并根据描述创建对应的View实例。通过`LayoutInflater`,...
#### 五、Android中LayoutInflater的使用 LayoutInflater是Android提供的一个类,用于加载XML布局文件并将其转换为View对象。主要应用场景包括: 1. **动态加载布局**。 2. **重复使用布局片段**。 3. **在...
在Android应用开发中,LayoutInflater是不可或缺的一个工具,用于将XML布局文件转换成可操作的视图对象。在本文中,我们将深入探讨使用LayoutInflater时需要注意的一些关键点,以避免潜在的问题和陷阱。 首先,理解...