通俗的说,inflate就相当于将一个xml中定义的布局找出来. inflate这个方法总共有四种形式,目的都是把xml表述的
layout转化为View。
因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件.
因此如果你的Activity里如果用到别的layout,比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片
ImageView,文字TextView)上的内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去找
到它上面的组件,如:
View view = View.inflate(this, R.layout.dialog_layout, null);
TextView dialogTV = (TextView) view.findViewById(R.id.dialog_tv);
dialogTV.setText("abcd");
如果组件R.id.dialog_tv是对话框上的组件,而你直接用this.findViewById(R.id.dialog_tv)肯定会报错.
三种方式可以生成LayoutInflater:
LayoutInflater inflater = LayoutInflater.from(this);
LayoutInflater inflater = getLayoutInflater();
LayoutInflater inflater = (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
然后调用inflate方法将xml布局文件转成View
public View inflate(intresource,ViewGrouproot,booleanattachToRoot)
在View类中,也有inflate方法
public static View inflate(Contextcontext, intresource, ViewGrouproot)
分享到:
相关推荐
在Android开发中,`inflate`是一个非常关键的操作,主要用于将XML布局文件转换为视图对象并添加到父视图中。这个过程被称为“布局解析”或“视图创建”。`inflate`方法通常在Activity、Fragment或者自定义ViewGroup...
总的来说,`LayoutInflater` 的`inflate()` 方法是Android应用中动态加载布局的关键,它与`findViewById()` 和`ViewStub` 配合使用,可以灵活地处理各种界面构建需求。了解这些方法的正确使用方式,对于提升Android...
总结来说,`LayoutInflater.inflate()` 方法在Android开发中扮演着关键角色,它帮助我们动态地构建和组合UI。理解`inflate()` 的参数以及它们如何影响视图的创建和布局是每个Android开发者必备的知识。正确使用`...
Android 中LayoutInflater.inflate()方法的介绍 最近一直想弄明白LayoutInflater对象的inflate方法的用法,今天做了实例。 <LinearLayout android:id=@+id/ll_item_Group android:layout_width=match_parent ...
总结一下,`LayoutInflater` 的`inflate()` 方法是Android开发中实现动态布局和视图复用的关键工具。理解其工作原理和用法,可以提高代码的灵活性和效率,使开发者能更好地控制应用程序的界面呈现。通过合理利用`...
博客《ListView滑动删除实现之一——merge标签与LayoutInflater.inflate()》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/45155965
总的来说,这个"LayoutInflater inflate 示例demo"是一个很好的学习资源,它将帮助你深入理解Android中布局动态加载的过程,以及如何根据需要有效地使用`LayoutInflater`。通过实践,你将能够熟练掌握这一关键的...
JavaScript中的zip_deflate和zip_inflate是用于数据压缩和解压缩的算法,它们在Web开发中扮演着重要的角色,尤其是在处理大量数据传输时。这里我们将深入探讨这两个概念以及如何在JavaScript环境中实现它们。 首先...
在Android中,我们可以在`res/menu`目录下创建XML文件来定义选项菜单的结构。例如,一个简单的菜单XML可能包含如下内容: ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> android:...
本文实例讲述了Android开发中setContentView和inflate的区别。分享给大家供大家参考,具体如下: 一般用LayoutInflater做一件事:inflate inflate这个方法总共有四种形式(见下面),目的都是把xml表述的layout转化...
本篇文章将深入探讨如何在Android中有效地使用Action Bar,包括其基本概念、设置方法以及自定义选项。 首先,Action Bar在Android 3.0(API级别11)被引入,旨在提高用户体验和应用一致性。在早期版本的Android中,...
在这个场景中,我们主要探讨如何在Android中实现"加载中"效果,特别是通过Dialog组件来实现。 首先,我们需要了解Android Dialog的基本概念。Dialog是一种轻量级的窗口,它可以浮现在应用主窗口之上,提供额外的...
下面将详细介绍如何在Android中使用RecyclerView实现这种效果。 首先,我们需要在布局文件中创建RecyclerView的基本结构。在XML布局中添加一个RecyclerView,设置其布局管理器,例如线性布局管理器...
Android Tablayout 是 Android 设计库中的一部分,主要用于实现标签页功能。Tablayout 中的 Tab 可以自定义布局,以满足不同的需求。本文将 introduction 了 Android Tablayout 自定义 Tab 布局的使用案例,包括 ...
在Android应用开发中,`Menu`是用户界面中不可或缺的一部分,它通常用于在特定操作(如选项、更多操作)上为用户提供快捷访问的途径。在Android系统中,`Menu`通常出现在活动(Activity)的顶部作为选项菜单,或者在...
在Android开发中,LayoutInflater是一个非常关键的工具,它主要用于将XML布局文件转换为视图对象。这个过程称为“实例化”或“.inflate”。通过LayoutInflater,我们可以动态地在运行时加载和插入用户界面元素,这...
在Android开发中,`LayoutInflater.from(context).inflate()`方法是一个至关重要的组件,用于将XML布局文件转换为视图对象并添加到视图层次结构中。这个方法广泛应用于动态加载和构建用户界面,尤其在处理列表视图、...