`

LayoutInflater及inflate方法

阅读更多
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`方法之间的区别,帮助开发者更好地理解和利用这个强大的功能。 首先,`LayoutInflater`有两个主要的`inflate`方法: 1. `inflate(@LayoutRes int resource, ...

    Android 中LayoutInflater.inflate()方法的介绍

    Android 中LayoutInflater.inflate()方法的介绍 Android 中LayoutInflater.inflate()方法是Android开发中最常用的方法之一,用于将布局文件转换成View对象。该方法是LayoutInflater类中的一个成员方法,主要用于将...

    博客《ListView滑动删除实现之一——merge标签与LayoutInflater.inflate()》对应源码

    博客《ListView滑动删除实现之一——merge标签与LayoutInflater.inflate()》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/45155965

    Android LayoutInflater.inflate()详解及分析

    Android LayoutInflater.inflate...我尝试在Google官方文档与网络上其他讨论中寻找有关的说明,而后发现许多人不但不清楚LayoutInflater的inflate()方法的细节,而且甚至在误用它。 这里的困惑很大程度上是因为Google

    LayoutInflater inflate 示例demo

    本示例demo是专为新手设计的,旨在帮助开发者理解`inflate()`方法的不同用法及其参数的含义。通过下载并导入到Android Studio,你可以直接运行此项目,直观地看到`inflate()`的各种使用场景。 首先,`...

    Android LayoutInflater中 Inflate()方法应用

    `inflate()` 方法是`LayoutInflater` 的核心方法,它的作用是解析XML布局文件,并将其转换为Android视图层次结构。下面将详细阐述`inflate()` 方法的用法及其与其他方法的区别。 首先,`inflate()` 方法的基本使用...

    Android LayoutInflater.inflate源码分析

    `LayoutInflater.inflate()` 方法是我们经常使用的一个核心方法,尤其是在创建自定义Adapter或动态加载布局时。接下来我们将深入探讨`LayoutInflater.inflate()` 的源码,以理解其工作原理和不同参数版本之间的差异...

    LayoutInflater inflate例子

    `inflate()` 方法是`LayoutInflater` 的核心功能,用于将XML布局资源动态地加载到活动中。下面将详细解释`LayoutInflater` 及其`inflate()` 方法的工作原理,以及如何在实际应用中灵活使用它们。 `LayoutInflater` ...

    LayoutInflater.from(context).inflate()方法的调研

    在Android开发中,`LayoutInflater.from(context).inflate()`方法是一个至关重要的组件,用于将XML布局文件转换为视图对象并添加到视图层次结构中。这个方法广泛应用于动态加载和构建用户界面,尤其在处理列表视图、...

    layoutinflater中嵌套layoutinflater

    `LayoutInflater`的核心是`inflate()`方法,它解析XML布局文件,并使用`createView()`创建对应的视图对象。在嵌套的情况下,`inflate()`会递归地处理XML中包含的子视图,包括其他`LayoutInflater`实例。 最后,`...

    LayoutInflater的使用

    LayoutInflater 的inflate 方法共有四种形式,目的都是把 xml 表述的 layout 转化为 View 对象。其中一个比较常用的是: ```java View inflate(int resource, ViewGroup root) ``` 其中,int resource 是 resource...

    Android布局加载之LayoutInflater示例详解

    LayoutInflater 的 inflate 方法是加载 View 最常用的方法,将一个布局文件 ID 传入并最后解析成一个 View。inflate 方法有多种重载形式: * View inflate(@LayoutRes int resource, @Nullable ViewGroup root) * ...

    Android开发实现自定义Toast、LayoutInflater使用其他布局示例

    自定义 Toast 主要有两种方法:一种是使用 Toast 的 setView() 方法将自定义的 View 添加到 Toast 中,另一种是使用 LayoutInflater.inflate() 方法将自定义的布局文件 inflate 到 View 中,然后将其添加到 Toast 中...

    inflate的使用

    `inflate`方法是`LayoutInflater`类的核心功能,它接收三个参数:布局资源ID、父视图以及一个布尔值表示是否将新创建的视图附加到父视图。以下是`inflate`的基本用法: ```java LayoutInflater inflater = ...

    Android LayoutInflater加载布局详解及实例代码

    3.我们定义View的时候,如果需要在布局中使用,则必须实现带AttributeSet参数的构造方法,这又是为什么呢? 既然在这篇文章提出来,那说明这三个问题都是跟LayoutInflater脱不了干系的。在我们的分析过程中,会对...

    Android开发之获取LayoutInflater对象的方法总结

    这个方法内部调用了`LayoutInflater.from(context).inflate(resource, root)`,因此实质上也是前两种方法的封装。 现在我们深入理解这些方法的源码实现: `LayoutInflater.from(context)`的源码如下: ```java ...

Global site tag (gtag.js) - Google Analytics