Inflater英文意思是膨胀,在Android中应该是扩展的意思吧。
LayoutInflater的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!而 findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。
她可以有很多地方可以使用,如BaseAdapter的getView中,自定义Dialog中取得view中的组件widget等等。
它的用法有2种:
Java代码
-
view plaincopy to clipboardprint?
-
LayoutInflater inflater = LayoutInflater.from(this);
-
View view=inflater.inflate(R.layout.ID, null);
-
或者干脆并成一句:
- View view=LayoutInflater.from(this).inflate(R.layout.ID, null);
另一种方法:
Java代码
-
view plaincopy to clipboardprint?
-
LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
- View view=inflater.inflate(R.layout.ID, null);
上面2种方法本质上是一样的,看下面的源码,form()调用的就是getSystemService():
Java代码
-
Java代码
-
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;
- }
另外getSystemService()是Android很重要的一个API,它是Activity的一个方法,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象。以下介绍系统相应的服务。
传入的Name |
返回的对象 |
说明 |
WINDOW_SERVICE |
WindowManager |
管理打开的窗口程序 |
LAYOUT_INFLATER_SERVICE |
LayoutInflater |
取得xml里定义的view |
ACTIVITY_SERVICE |
ActivityManager |
管理应用程序的系统状态 |
POWER_SERVICE |
PowerManger |
电源的服务 |
ALARM_SERVICE |
AlarmManager |
闹钟的服务 |
NOTIFICATION_SERVICE |
NotificationManager |
状态栏的服务 |
KEYGUARD_SERVICE |
KeyguardManager |
键盘锁的服务 |
LOCATION_SERVICE |
LocationManager |
位置的服务,如GPS |
SEARCH_SERVICE |
SearchManager |
搜索的服务 |
VEBRATOR_SERVICE |
Vebrator |
手机震动的服务 |
CONNECTIVITY_SERVICE |
Connectivity |
网络连接的服务 |
WIFI_SERVICE |
WifiManager |
Wi-Fi服务 |
TELEPHONY_SERVICE |
TeleponyManager |
电话服务 |
分享到:
相关推荐
在Android开发中,LayoutInflater是一个非常关键的工具,它主要用于将XML布局文件转换为视图对象。这个过程称为“实例化”或“.inflate”。通过LayoutInflater,我们可以动态地在运行时加载和插入用户界面元素,这...
Android 中LayoutInflater(布局加载器)之实战篇 博客的Demo 博客地址: http://blog.csdn.net/l540675759/article/details/78112989 两种方式实现小红书的引导页: (1)自定义View (2)自定义LayoutInflater....
在Android开发中,`LayoutInflater`是一个非常重要的工具类,它主要用于将XML布局文件转换为视图对象,使得我们可以动态地将界面元素添加到应用程序中。`LayoutInflater`是Android框架的一部分,它极大地增强了UI...
在Android开发中,`LayoutInflater` 是一个至关重要的工具,它负责将XML布局文件转换为视图对象(View objects)。这个过程被称为布局的“实例化”或“膨胀”。`LayoutInflater` 提供了一种灵活的方式来动态地加载和...
测试:Android 中LayoutInflater的使用 注意:Aj_04是用了调用另外一个界面,要注意调用的方法, 还一定还要在AndroidManifest.xml 中加上呢句:<activity android:name="LayoutInflaterDemo"></activity>
在Android开发中,`LayoutInflater`是一个至关重要的工具类,它主要负责将XML布局文件转换成View对象并添加到视图层次结构中。`LayoutInflater`的名字来源于"Layout Inflater",正如描述中提到的,它是对当前...
arser.START_TAG && type != XmlPullParser.END_DOCUMENT) { // Do nothing } if (type != XmlPullParser.START_TAG) { throw new InflateException(parser.getPositionDescription() + ": No start tag found!...
在Android应用开发中,我们通常使用LayoutInflater来动态地加载和插入布局,这在创建自定义视图、处理动态数据或者在运行时创建视图时非常有用。本文将深入解析LayoutInflater的工作原理,并提供实例代码来帮助理解...
down-test-Android 获得 LayoutInflater 实例的三种方式
在Android中,我们通常通过以下方式实例化一个`LayoutInflater`: ```java LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.your_layout, parent, false); ``` ...
总的来说,这个"LayoutInflater inflate 示例demo"是一个很好的学习资源,它将帮助你深入理解Android中布局动态加载的过程,以及如何根据需要有效地使用`LayoutInflater`。通过实践,你将能够熟练掌握这一关键的...
Android 中LayoutInflater.inflate()方法的介绍 Android 中LayoutInflater.inflate()方法是Android开发中最常用的方法之一,用于将布局文件转换成View对象。该方法是LayoutInflater类中的一个成员方法,主要用于将...
首先,我们需要理解`LayoutInflater`在Android中的角色。`LayoutInflater`是负责将XML布局文件转换为视图对象(View)的关键类。它从资源文件中读取布局描述,并根据描述创建对应的View实例。通过`LayoutInflater`,...
在Android应用开发中,LayoutInflater是不可或缺的一个工具,用于将XML布局文件转换成可操作的视图对象。在本文中,我们将深入探讨使用LayoutInflater时需要注意的一些关键点,以避免潜在的问题和陷阱。 首先,理解...
Android中LayoutInflater.inflater()的正确打开方式 LayoutInflater是Android中用于加载布局文件的核心类,通过LayoutInflater的inflate()方法可以将布局文件加载到内存中,并返回对应的View对象。但是,很多开发者...
在Android开发中,`LayoutInflater` 是一个至关重要的工具,它负责将XML布局文件解析为运行时的View对象。本文将详细讲解如何在Android应用中获取`LayoutInflater`对象,并通过实例和源码分析来阐述不同获取方式的...