Android LayoutInflater中 Inflate()方法应用
Android Inflate()方法的作用是将xml定义的一个布局找出来,但仅仅是找出来而且隐藏的,没有找到的同时并显示功能。最近做的一个项目就是这一点让我迷茫了好几天。
Android上还有一个与Inflate()功能类似的方法叫findViewById(),二者有时可以互换使用,但也有区别:
如果你的Activity里用到别的layout,比如对话框layout,你还要设置这个layout上的其他组件的内容,你就必须用inflate()方法先将对话框的layout找出来,然后再用findViewById()找到它上面的其它组件。例如:
View view1=View.inflate(this,R.layout.dialog_layout,null);
TextViewdialogTV=(TextView)view1.findViewById(R.id.dialog_tv);
dialogTV.setText("abcd");
注:R.id.dialog_tv是在对话框layout上的组件,而这时若直接用this.findViewById(R.id.dialog_tv)就会报错。
View viewStub = ((ViewStub) findViewById(R.id.stubView)).inflate();
Inflate()可理解为“隐性膨胀”,隐性摆放在view里,inflate()前只是获得控件,但没有大小没有在View里占据空间,inflate()后有一定大小,只是处于隐藏状态。
以上就是对Android Inflate() 方法的 简单说明应用,希望能帮到需要帮助的同学。
相关推荐
-
Android LayoutInflater.inflate源码分析
LayoutInflater.inflate源码详解 LayoutInflater的inflate方法相信大家都不陌生,在Fragment的onCreateView中或者在BaseAdapter的getView方法中我们都会经常用这个方法来实例化出我们需要的View. 假设我们有一个需要实例化的布局文件menu_item.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an
-
Android开发之获取LayoutInflater对象的方法总结
本文实例讲述了Android开发之获取LayoutInflater对象的方法.分享给大家供大家参考,具体如下: 在写Android程序时,有时候会编写自定义的View,使用Inflater对象来将布局文件解析成一个View.本文主要目的是总结获取LayoutInflater对象的方法. 1.若能获取context对象,可以有以下几种方法: LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYO
-
Android LayoutInflater深入分析及应用
LayoutInflater解析 前言: 在Android中,如果是初级玩家,很可能对LayoutInflater不太熟悉,或许只是在Fragment的onCreateView()中模式化的使用过而已.但如果稍微有些工作经验的人就知道,这个类有多么重要,它是连接布局XMl和Java代码的桥梁,我们常常疑惑,为什么Android支持在XML书写布局? 我们想到的必然是Android内部帮我们解析xml文件,LayoutInflater就是帮我们做了这个工作. 首先LayoutInflater是一个
-
Android布局加载之LayoutInflater示例详解
前言 Activity 在界面创建时需要将 XML 布局文件中的内容加载进来,正如我们在 ListView 或者 RecyclerView 中需要将 Item 的布局加载进来一样,都是使用 LayoutInflater 来进行操作的. LayoutInflater 实例的获取有多种方式,但最终是通过(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)来得到的,也就是说加载布局的 LayoutInflat
-
Android LayoutInflater加载布局详解及实例代码
Android LayoutInflater加载布局详解 对于有一定Android开发经验的同学来说,一定使用过LayoutInflater.inflater()来加载布局文件,但并不一定去深究过它的原理,比如 1.LayoutInflater为什么可以加载layout文件? 2.加载layout文件之后,又是怎么变成供我们使用的View的? 3.我们定义View的时候,如果需要在布局中使用,则必须实现带AttributeSet参数的构造方法,这又是为什么呢? 既然在这篇文章提出来,那说明这三
-
Android中使用LayoutInflater要注意的一些坑
前言 在平时的开发过程中,我们经常会用LayoutInflater这个类,比如说在Fragment$onCreateView和RecyclerView.Adapter$onCreateViewHolder中都会用到.它的用法也无非就是LayoutInflater.inflate(resourceId, root, attachToRoot),第一个参数没什么好说的,但第二个和第三个参数结合起来会带来一定的迷惑性.之前有时候会发现界面布局上出了一些问题,查了很久之后偶然的改动了这两个参数,发现问题
-
Android LayoutInflater.inflate()详解及分析
Android LayoutInflater.inflate()详解 深入理解LayoutInflater.inflate() 由于我们很容易习惯公式化的预置代码,有时我们会忽略很优雅的细节.LayoutInflater以及它在Fragment的onCreateView()中填充View的方式带给我的就是这样的感受.这个类用于将XML文件转换成相对应的ViewGroup和控件Widget.我尝试在Google官方文档与网络上其他讨论中寻找有关的说明,而后发现许多人不但不清楚LayoutInfl
-
Android开发中LayoutInflater用法详解
本文实例讲述了Android开发中LayoutInflater用法.分享给大家供大家参考,具体如下: 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化:而findViewById()是找xml布局文件下的具体widget控件(如Button.TextView等). 具体作用: 1.对于一个没有被载入或者想要动态载入的界面,都需要使用Layout
-
Android getViewById和getLayoutInflater().inflate()的详解及比较
Android getViewById和getLayoutInflater().inflate()的详解及比较 由于本人刚刚学习Android 对于getViewById和getLayoutInflater().inflate()的方法该如何使用不知如何分别,这里就上网查下资料整理下,大家可以看下. LayoutInflater 要明白这个问题首先要知道什么是LayoutInflater.根据Android的官方API解释: Instantiates a layou
-
基于Android LayoutInflater的使用介绍
在android中,LayoutInflater有点类似于Activity的findViewById(id),不同的是LayoutInflater是用来找layout下的xml布局文件,并且实例化!而findViewById()是找具体xml下的具体 widget控件(如:Button,TextView等). 下面通过一个例子进行详细说明: 1.在res/layout文件夹下,添加一个xml文件dialog.xml 复制代码 代码如下: <LinearLayout xmlns:android=&qu
随机推荐
- asp.net 网络硬盘实现分析
- 杀毒除根 巧用注册表防止病毒重新生成
- 深入JVM剖析Java的线程堆栈
- 使用xenocode代码混淆加密的操作步骤
- 后台实时分流文件的shell脚本
- 5款Ajax 文件上传控件
- Ajax中post方法直接返回以0开头数字出错问题分析
- MySQL 替换某字段内部分内容的UPDATE语句
- jQuery插件zoom实现图片全屏放大弹出层特效
- jquery拖拽效果完整实例(附demo源码下载)
- 那些年,我还在学习jquery 学习笔记
- IE与注册表被锁定的解决办法
- 9条PHP编程小知识及易犯的小错误
- Android如何遍历特定目录下所有文件
- 深入线性时间复杂度求数组中第K大数的方法详解
- java中文分词之正向最大匹配法实例代码
- iOS开发中UIWebView的加载本地数据的三种方式
- Python中动态检测编码chardet的使用教程
- Android如何自定义EditText下划线?
- Linux基础之终端、控制台、tty、pty简介说明
