public void OnCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
...
这个是Activity创建时执行的方法,其中最后一句为加载布局的最简单的方法,但是如果,你需要动态加载布局,那就需要使用其他办法,如使用LayoutInfater的inflate方法。
获得 LayoutInflater 实例的三种方式
1).调用Activity的getLayoutInflater()
LayoutInflater inflater = getLayoutInflater();
2).LayoutInflater inflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
3).LayoutInflater inflater = LayoutInflater.from(context);
inflate()解析
public View inflate(int Resourece,ViewGroup root)
作用:填充一个新的视图层次结构从指定的XML资源文件中
reSource:View的layout的ID
root: 生成的层次结构的根视图
如果参数root提供了,那么root就是根视图;否则填充的XML文件的根就是根视图。其余几个重载的inflate函数类似。
下面的code和setContentView(R.layout.main)作用一样,但比较麻烦:
LayoutInflater inflate = LayoutInflater.from(this);
View view = inflate.inflate(R.layout.main,null);
setContentView(view);
分享到:
相关推荐
本篇文章将深入探讨`LayoutInflater`的`inflate`方法之间的区别,帮助开发者更好地理解和利用这个强大的功能。 首先,`LayoutInflater`有两个主要的`inflate`方法: 1. `inflate(@LayoutRes int resource, ...
Android 中LayoutInflater.inflate()方法的介绍 Android 中LayoutInflater.inflate()方法是Android开发中最常用的方法之一,用于将布局文件转换成View对象。该方法是LayoutInflater类中的一个成员方法,主要用于将...
博客《ListView滑动删除实现之一——merge标签与LayoutInflater.inflate()》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/45155965
Android LayoutInflater.inflate...我尝试在Google官方文档与网络上其他讨论中寻找有关的说明,而后发现许多人不但不清楚LayoutInflater的inflate()方法的细节,而且甚至在误用它。 这里的困惑很大程度上是因为Google
本示例demo是专为新手设计的,旨在帮助开发者理解`inflate()`方法的不同用法及其参数的含义。通过下载并导入到Android Studio,你可以直接运行此项目,直观地看到`inflate()`的各种使用场景。 首先,`...
`inflate()` 方法是`LayoutInflater` 的核心方法,它的作用是解析XML布局文件,并将其转换为Android视图层次结构。下面将详细阐述`inflate()` 方法的用法及其与其他方法的区别。 首先,`inflate()` 方法的基本使用...
`LayoutInflater.inflate()` 方法是我们经常使用的一个核心方法,尤其是在创建自定义Adapter或动态加载布局时。接下来我们将深入探讨`LayoutInflater.inflate()` 的源码,以理解其工作原理和不同参数版本之间的差异...
`inflate()` 方法是`LayoutInflater` 的核心功能,用于将XML布局资源动态地加载到活动中。下面将详细解释`LayoutInflater` 及其`inflate()` 方法的工作原理,以及如何在实际应用中灵活使用它们。 `LayoutInflater` ...
在Android开发中,`LayoutInflater.from(context).inflate()`方法是一个至关重要的组件,用于将XML布局文件转换为视图对象并添加到视图层次结构中。这个方法广泛应用于动态加载和构建用户界面,尤其在处理列表视图、...
`LayoutInflater`的核心是`inflate()`方法,它解析XML布局文件,并使用`createView()`创建对应的视图对象。在嵌套的情况下,`inflate()`会递归地处理XML中包含的子视图,包括其他`LayoutInflater`实例。 最后,`...
LayoutInflater 的inflate 方法共有四种形式,目的都是把 xml 表述的 layout 转化为 View 对象。其中一个比较常用的是: ```java View inflate(int resource, ViewGroup root) ``` 其中,int resource 是 resource...
LayoutInflater 的 inflate 方法是加载 View 最常用的方法,将一个布局文件 ID 传入并最后解析成一个 View。inflate 方法有多种重载形式: * View inflate(@LayoutRes int resource, @Nullable ViewGroup root) * ...
自定义 Toast 主要有两种方法:一种是使用 Toast 的 setView() 方法将自定义的 View 添加到 Toast 中,另一种是使用 LayoutInflater.inflate() 方法将自定义的布局文件 inflate 到 View 中,然后将其添加到 Toast 中...
`inflate`方法是`LayoutInflater`类的核心功能,它接收三个参数:布局资源ID、父视图以及一个布尔值表示是否将新创建的视图附加到父视图。以下是`inflate`的基本用法: ```java LayoutInflater inflater = ...
3.我们定义View的时候,如果需要在布局中使用,则必须实现带AttributeSet参数的构造方法,这又是为什么呢? 既然在这篇文章提出来,那说明这三个问题都是跟LayoutInflater脱不了干系的。在我们的分析过程中,会对...
这个方法内部调用了`LayoutInflater.from(context).inflate(resource, root)`,因此实质上也是前两种方法的封装。 现在我们深入理解这些方法的源码实现: `LayoutInflater.from(context)`的源码如下: ```java ...