- 浏览: 247678 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
江恂泽:
楼主 这家伙会把data 拆分开来 转换成day year形 ...
JsonUtil -
mdsp25xhm:
为何没有列表查询功能?
myBatis DAO封装
LayoutInflater作用是将layout的xml布局文件实例化为View类对象。
实现LayoutInflater的实例化共有3种方法,
(1).通过SystemService获得
LayoutInflater inflater = (LayoutInflater)context.getSystemServices(Context.LAYOUT_INFLATER_SERVICES);
View view = inflater.inflate(R.layout.main, null);
(2).从给定的context中获得
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.mian, null);
(3).
LayoutInflater inflater =getLayoutInflater();(在Activity中可以使用,实际上是View子类下window的一个函数)
View layout = inflater.inflate(R.layout.main, null);
其实,这三种方式本质是相同的,从源码中可以看出:
getLayoutInflater():
Activity的getLayoutInflater()方法是调用PhoneWindow的getLayoutInflater()方法,看一下该源代码:
publicPhoneWindow(Contextcontext) {
super(context);
mLayoutInflater= LayoutInflater.from(context);
}
可以看出它其实是调用LayoutInflater.from(context)。
LayoutInflater.from(context):
public static LayoutInflaterfrom(Context context) {
LayoutInflater LayoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if(LayoutInflater== null){
thrownew AssertionError("LayoutInflaternot found.");
}
returnLayoutInflater;
}
可以看出它其实调用context.getSystemService()。
public View inflate(int Resourece,ViewGrouproot)
作用:填充一个新的视图层次结构从指定的XML资源文件中
reSource:View的layout的ID
root: 生成的层次结构的根视图
return 填充的层次结构的根视图。如果参数root提供了,那么root就是根视图;否则填充的XML文件的根就是根视图。
其余几个重载的inflate函数类似。
实现LayoutInflater的实例化共有3种方法,
(1).通过SystemService获得
LayoutInflater inflater = (LayoutInflater)context.getSystemServices(Context.LAYOUT_INFLATER_SERVICES);
View view = inflater.inflate(R.layout.main, null);
(2).从给定的context中获得
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.mian, null);
(3).
LayoutInflater inflater =getLayoutInflater();(在Activity中可以使用,实际上是View子类下window的一个函数)
View layout = inflater.inflate(R.layout.main, null);
其实,这三种方式本质是相同的,从源码中可以看出:
getLayoutInflater():
Activity的getLayoutInflater()方法是调用PhoneWindow的getLayoutInflater()方法,看一下该源代码:
publicPhoneWindow(Contextcontext) {
super(context);
mLayoutInflater= LayoutInflater.from(context);
}
可以看出它其实是调用LayoutInflater.from(context)。
LayoutInflater.from(context):
public static LayoutInflaterfrom(Context context) {
LayoutInflater LayoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if(LayoutInflater== null){
thrownew AssertionError("LayoutInflaternot found.");
}
returnLayoutInflater;
}
可以看出它其实调用context.getSystemService()。
public View inflate(int Resourece,ViewGrouproot)
作用:填充一个新的视图层次结构从指定的XML资源文件中
reSource:View的layout的ID
root: 生成的层次结构的根视图
return 填充的层次结构的根视图。如果参数root提供了,那么root就是根视图;否则填充的XML文件的根就是根视图。
其余几个重载的inflate函数类似。
发表评论
-
IMF简介-2
2013-07-09 17:56 902InputManager 由UI控件(View,TextVie ... -
IMF简介-1
2013-07-09 17:51 821Input Method Framework 目录 ... -
输入法 总结-3
2013-07-08 15:02 857public class MainActivity exten ... -
输入法 总结-4
2013-07-04 17:29 940public class InputActivity exte ... -
输入法 总结-3
2013-07-04 17:28 863public class InputApplication e ... -
输入法 总结-2
2013-07-04 17:23 781openwnn_pref_ja.xml <?xml v ... -
输入法 总结-2
2013-07-04 17:21 13openwnn_pref_ja.xml <?xml v ... -
输入法 总结-1
2013-07-04 17:19 800<application android ... -
Android快捷键
2013-03-15 14:39 841Home键(小房子键) 在 ... -
如何通过wifi调试android程序
2013-02-27 15:48 777android手机居然可以通过wifi进行程序的调试,太好了, ... -
Please ensure that adb is correctly located at 'D:\android-sdk-windows\platform-
2013-02-27 14:27 1668adt 出现ADB server didn't ACK, fa ... -
Android AsyncTask
2013-02-19 09:35 1135AsyncTask是抽象类,子类 ... -
Android ViewPager 左右滑动2-1
2013-01-29 10:12 1514public class PagerActivity exte ... -
Android ViewPager 左右滑动-3
2013-01-29 10:10 1108<?xml version="1.0" ... -
Android ViewPager 左右滑动-2
2013-01-29 10:10 1480/*** * 选中效果 */ pu ... -
Android ViewPager 左右滑动-1
2013-01-29 10:09 1389Store extends ActivityGroup imp ... -
Android 下载
2013-01-27 00:59 918下载apk程序代码 protected File downLo ... -
Android SDCard操作-3
2013-01-26 18:31 889public static Intent getVid ... -
Android SDCard操作-2
2013-01-26 18:30 1125/** * 判断该应用在手机中的安装情况 ... -
Android SDCard操作-1
2013-01-26 18:27 1056private static int INSTALLED = ...
相关推荐
LayoutInflater.inflate()方法是Android开发中最常用的方法之一,用于将布局文件转换成View对象,以便在Android应用程序中使用。通过对LayoutInflater.inflate()方法的理解和应用,可以实现更加复杂和多样化的...
总结来说,`LayoutInflater.inflate()` 方法在Android开发中扮演着关键角色,它帮助我们动态地构建和组合UI。理解`inflate()` 的参数以及它们如何影响视图的创建和布局是每个Android开发者必备的知识。正确使用`...
总的来说,`LayoutInflater` 的`inflate()` 方法是Android应用中动态加载布局的关键,它与`findViewById()` 和`ViewStub` 配合使用,可以灵活地处理各种界面构建需求。了解这些方法的正确使用方式,对于提升Android...
`LayoutInflater.inflate()` 方法是我们经常使用的一个核心方法,尤其是在创建自定义Adapter或动态加载布局时。接下来我们将深入探讨`LayoutInflater.inflate()` 的源码,以理解其工作原理和不同参数版本之间的差异...
本篇文章将深入探讨`LayoutInflater`的`inflate`方法之间的区别,帮助开发者更好地理解和利用这个强大的功能。 首先,`LayoutInflater`有两个主要的`inflate`方法: 1. `inflate(@LayoutRes int resource, ...
首先,`LayoutInflater`通常从资源ID获取,可以使用`getSystemService()`方法和`Context.LAYOUT_INFLATER_SERVICE`常量来获取: ```java LayoutInflater inflater = (LayoutInflater) getSystemService(Context....
`LayoutInflater`还提供了`cloneInContext()`方法,用于创建一个新的`LayoutInflater`实例,该实例具有与原始实例相同的布局工厂和标签前缀,但其上下文被替换为指定的新上下文,这对于处理多线程或在不同上下文中...
在Android开发中,`LayoutInflater`是一个至关重要的工具类,它主要负责将XML布局文件转换成View对象并添加到视图...通过熟练掌握`LayoutInflater`的使用,开发者可以更灵活地设计和构建Android应用程序的用户界面。
在Android应用开发中,我们通常使用LayoutInflater来动态地加载和插入布局,这在创建自定义视图、处理动态数据或者在运行时创建视图时非常有用。本文将深入解析LayoutInflater的工作原理,并提供实例代码来帮助理解...
总结一下,`LayoutInflater` 的`inflate()` 方法是Android开发中实现动态布局和视图复用的关键工具。理解其工作原理和用法,可以提高代码的灵活性和效率,使开发者能更好地控制应用程序的界面呈现。通过合理利用`...
总之,`inflate`是Android开发中不可或缺的一部分,理解并熟练掌握其使用方法对于提升开发效率和优化用户体验有着直接的影响。通过深入学习和实践,开发者可以更好地利用`inflate`来构建高效、灵活的Android应用。
2. **使用方法**:通过`LayoutInflater.from(Context)`获取LayoutInflater实例,然后调用`inflate()`方法加载布局。 3. **inflate()方法**:接受两个参数,第一个是XML布局资源ID,第二个是父视图,用于确定布局的...
本文将深入探讨`LayoutInflater.from(context).inflate()`的工作原理、使用方法以及一些最佳实践。 首先,`LayoutInflater`是Android提供的一个类,它的主要任务是将XML布局文件解析成对应的View或ViewGroup对象。`...
使用 LayoutInflater.inflate() 方法可以将自定义的布局文件 inflate 到 View 中,这样可以方便地自定义 Toast 的样式和布局。同时,我们也可以使用 Toast 的 setView() 方法将自定义的 View 添加到 Toast 中,从而...
`LayoutInflater`的使用方法: 通常有两种方式来获取`LayoutInflater`实例: 1. 使用`LayoutInflater.from(Context context)`静态方法: ```java LayoutInflater inflater = LayoutInflater.from(this); View view =...
总之,理解和正确使用LayoutInflater.inflate()的参数是避免Android开发中出现布局问题的关键。在使用时,确保提供适当的父容器,合理设置`attachToRoot`,并且始终关注视图的测量和布局过程。通过这些注意事项,...
`LayoutInflater`的核心是`inflate()`方法,它解析XML布局文件,并使用`createView()`创建对应的视图对象。在嵌套的情况下,`inflate()`会递归地处理XML中包含的子视图,包括其他`LayoutInflater`实例。 最后,`...