android开发之LayoutInflater
来源:互联网 发布:莽荒纪神魔盾进阶数据 编辑:程序博客网 时间:2024/05/08 14:45
LayoutInflater是用来找layout下xml布局文件,并且实例化!
findViewById()是找具体xml下的具体 widget控件(如:Button,TextView等)。
补充总结:
1.一般来讲,我们用LayoutInflater做一件事:inflate。inflate这个方法总共有四种形式,目的都是把xml表述的layout转化为View。(This class is used to instantiate layout XML file into its corresponding View objects . It is never be used directly -- use getLayoutInflater() or getSystemService(String)getLayoutInflater() or getSystemService(String) to retrieve a standard LayoutInflater instance that is already hooked up to the current context and correctly configured for the device you are running on)。
2.获得LayoutInflater的方法:
1)通过SystemService获得
LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
2)从给定的context中获得
LayoutInflater inflater = LayoutInflater.from(context);
两者区别:实质是一样的,看方法(2)源码
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;
}
3.LayoutInflater.inflate()
将Layout文件转换为View,顾名思义,专门供Layout使用的Inflater。虽然Layout也是View的子类,但在android中如果想将xml中的Layout转换为View放入.java代码中操作,只能通过Inflater,而不能通过findViewById(),这一段描述有误,看如下代码 。看下面文档写的已经很清楚。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout android:id="@+id/placeslist_linearlayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.placeslist_linearlayout);
linearLayout.addView(place_type_text);
这是可运行的,这上面的xml中,LinearLayout不再是Layout的代表,而只是一个普通的View。
- android开发之LayoutInflater
- android开发之LayoutInflater
- android 开发LayoutInflater之我见
- Android开发之--LayoutInflater的使用
- android开发--LayoutInflater类
- android开发--LayoutInflater类
- Android之LayoutInflater
- Android 之LayoutInflater详解
- Android 之 LayoutInflater
- Android之LayoutInflater详解
- Android之LayoutInflater
- android之LayoutInflater
- Android之LayoutInflater探索
- Android笔记之LayoutInflater
- Android 之LayoutInflater.from
- android之LayoutInflater详解_什么是LayoutInflater
- Android开发之TabHost与LayoutInflater的综合应用
- 【android开发】之【LayoutInflater(inflate )的使用】
- js前台改变服务器控件的disable的属性,后台获取不到值
- OpenCV学习笔记(十二)——随机数产生器RNG
- ArcGIS.Server.9.3和ArcGIS API for JavaScript中GraphicsLayer应用(初学GIS)
- Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparison
- hibernate Restrictions用法
- android开发之LayoutInflater
- 蛋疼的struts和jsp之间的参数传递
- 自学PHP的笔记(五)
- C# DllImport的用法
- 将窗体中控件存入XML文件中
- live555学习笔记9-h264 RTP传输详解(1)
- 网络端口简介
- app运行时获取系统版本
- JDK在LINUX下的安装配置