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对象的方法总结
本文实例讲述了Android开发之获取LayoutInflater对象的方法.分享给大家供大家参考,具体如下: 在写Android程序时,有时候会编写自定义的View,使用Inflater对象来将布局文件解析成一个View.本文主要目的是总结获取LayoutInflater对象的方法. 1.若能获取context对象,可以有以下几种方法: LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYO
-
Android getViewById和getLayoutInflater().inflate()的详解及比较
Android getViewById和getLayoutInflater().inflate()的详解及比较 由于本人刚刚学习Android 对于getViewById和getLayoutInflater().inflate()的方法该如何使用不知如何分别,这里就上网查下资料整理下,大家可以看下. LayoutInflater 要明白这个问题首先要知道什么是LayoutInflater.根据Android的官方API解释: Instantiates a layou
-
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.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有点类似于Activity的findViewById(id),不同的是LayoutInflater是用来找layout下的xml布局文件,并且实例化!而findViewById()是找具体xml下的具体 widget控件(如:Button,TextView等). 下面通过一个例子进行详细说明: 1.在res/layout文件夹下,添加一个xml文件dialog.xml 复制代码 代码如下: <LinearLayout xmlns:android=&qu
-
Android中使用LayoutInflater要注意的一些坑
前言 在平时的开发过程中,我们经常会用LayoutInflater这个类,比如说在Fragment$onCreateView和RecyclerView.Adapter$onCreateViewHolder中都会用到.它的用法也无非就是LayoutInflater.inflate(resourceId, root, attachToRoot),第一个参数没什么好说的,但第二个和第三个参数结合起来会带来一定的迷惑性.之前有时候会发现界面布局上出了一些问题,查了很久之后偶然的改动了这两个参数,发现问题
-
Android开发中LayoutInflater用法详解
本文实例讲述了Android开发中LayoutInflater用法.分享给大家供大家参考,具体如下: 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化:而findViewById()是找xml布局文件下的具体widget控件(如Button.TextView等). 具体作用: 1.对于一个没有被载入或者想要动态载入的界面,都需要使用Layout
-
Android LayoutInflater深入分析及应用
LayoutInflater解析 前言: 在Android中,如果是初级玩家,很可能对LayoutInflater不太熟悉,或许只是在Fragment的onCreateView()中模式化的使用过而已.但如果稍微有些工作经验的人就知道,这个类有多么重要,它是连接布局XMl和Java代码的桥梁,我们常常疑惑,为什么Android支持在XML书写布局? 我们想到的必然是Android内部帮我们解析xml文件,LayoutInflater就是帮我们做了这个工作. 首先LayoutInflater是一个
-
Android LayoutInflater.inflate()详解及分析
Android LayoutInflater.inflate()详解 深入理解LayoutInflater.inflate() 由于我们很容易习惯公式化的预置代码,有时我们会忽略很优雅的细节.LayoutInflater以及它在Fragment的onCreateView()中填充View的方式带给我的就是这样的感受.这个类用于将XML文件转换成相对应的ViewGroup和控件Widget.我尝试在Google官方文档与网络上其他讨论中寻找有关的说明,而后发现许多人不但不清楚LayoutInfl
随机推荐
- swift 3.0中实现字符串截取、比较的方法示例
- window下mongodb在dos下服务器启动及连接
- Nodejs实现多房间简易聊天室功能
- js利用正则表达式检验输入内容是否为网址
- 用 javascript 实现的点击复制代码
- Android应用的LinearLayout中嵌套RelativeLayout的布局用法
- Ajax Throws Sys.WebForms.PageRequestManagerErrorException with Response.Redirect的解决方法
- php file_get_contents取文件中数组元素的方法
- PHP include_path设置技巧分享
- 由浅入深讲解Javascript继承机制与simple-inheritance源码分析
- C++实现图的邻接矩阵存储和广度、深度优先遍历实例分析
- 让你的python代码更加pythonic(简练、明确、优雅)
- jQuery取消特定的click事件
- java中字符串参数化符号${}的解析
- Spring整合WebSocket应用示例(上)
- 数据库基本操作语法归纳总结
- php中的时间处理
- python分析作业提交情况
- 推荐一款IntelliJ IDEA提示快捷键的Key Promoter X插件
- 解决Ubuntu 18.04安装VMwareTools错误问题