LayoutInflater.inflate()的作用就是将一个xml定义的布局文件实例化为view控件对象;

与findViewById区别:

LayoutInflater.inflate是加载一个布局文件;

findViewById则是从布局文件中查找一个控件;

一.获取LayoutInflater对象有三种方法

LayoutInflater inflater=LayoutInflater.from(context);

LayoutInflater inflater=getLayoutInflater();在Activity中可以使用,实际上是View子类下window的一个函数

LayoutInflater inflater=(LayoutInflater)context.getSystemService(LAYOUT_INFLATER_SERVICE);

二:inflate 参数

public View inflate(int resource, ViewGroup root, boolean attachToRoot) :

reSource:View的layout的ID root:需要附加到resource资源文件的根控件,inflate()会返回一个View对象,如果第三个参数

attachToRoot为true,就将这个root作为根对象返回,否则仅仅将这个root对象的LayoutParams属性附加到resource对象的根布局对象

上,也就是布局文件resource的最外层的View上。如果root为null则会忽略view根对象的LayoutParams属性(注意)。

attachToRoot:是否将root附加到布局文件的根视图上

简单来讲:

1. 如果root为null,attachToRoot将失去作用,设置任何值都没有意义。

2. 如果root不为null,attachToRoot设为true,则会在加载的布局文件的最外层再嵌套一层root布局。

3. 如果root不为null,attachToRoot设为false,则root参数失去作用。

4. 在不设置attachToRoot参数的情况下,如果root不为null,attachToRoot参数默认为true。

6、Android之LayoutInflater.inflate()的更多相关文章

  1. android LayoutInflater.inflate()的参数介绍

    LayoutInflater.inflate()的作用就是将一个xml定义的布局文件实例化为view控件对象: 与findViewById区别: LayoutInflater.inflate是加载一个 ...

  2. Android LayoutInflater.inflate使用上的问题解惑

    最近在在使用LayoutInflater.inflate方法时遇到了一些问题,以前没有仔细看过此类的使用方法,故将其记录下来,方便日后查阅. 相信大家都知道LayoutInflater.inflate ...

  3. [Xamarin] 使用LayoutInflater.Inflate載入預先設計好的Layout並使用 (转帖)

    開發的時候,一定會把一些東西設計成元件,並且可以多次使用,今天紀錄一篇比較簡單的方法,可以載入事先做好的Layout 並且給予事件 介紹一下範例: Main.axml: <?xml versio ...

  4. Android高手进阶教程(五)之----Android 中LayoutInflater的使用!

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://weizhulin.blog.51cto.com/1556324/311450 大 ...

  5. Android中LayoutInflater的使用

    Inflater英文意思是膨胀,在Android中应该是扩展的意思吧. LayoutInflater 的作用类似于 findViewById(),不同点是LayoutInflater是用来找layou ...

  6. android中LayoutInflater详解与使用

    android的LayoutInflater用来得到一个布局文件,也就是xxx.xml,而我们常用的findviewbyid是用来取得布局文件里的控件或都布局.inflater即为填充的意思,也就是说 ...

  7. setContentView()与LayoutInflater.inflate()作用

    @Override protected void onCreate(Bundle savedInstanceState) {  try{   super.onCreate(savedInstanceS ...

  8. at android.view.LayoutInflater.createViewFromTag的错误原因

    创建对话框时出现下面的错误: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean ...

  9. 【Android】LayoutInflater

    LayoutInflater的作用 LayoutInflater的作用类似于findViewById(). 不同点是: LayoutInflater是用来找res/layout/下的xml布局文件,并 ...

随机推荐

  1. point

    7.10 []getch->_getch []错误:fatal error C1189: #error : EasyX is only for C++ :.c改为.cpp

  2. winform 记住密码功能

      //登录        private void btn_Login_Click(object sender, EventArgs e)        {            //记住密码    ...

  3. svn patch

    生成patch文件: svn diff > patchFile // 整个工程的变动生成patch 或svn diff file > patchFile // 某个文件单独变动的patch ...

  4. Gevent中信号量的使用

    greenlet间同步方法:信号量 1.为什么引入信号量: 2.gevent信号量有哪些: 3.编程实现. 为何引入信号量 信号量是一个允许Greenlet相互合作,限制并发访问或运行的低层次的同步原 ...

  5. SQL DDL

    Sql语言被分为四大类:数据查询语言(DQL),数据操纵语言(DML),数据定义语言(DDL),数据控制语言(DCL). 1. 数据查询语言(DQL) 数据查询语言基本结构由select子句,from ...

  6. [sqoop1.99.7] sqoop命令

    官网文档:http://sqoop.apache.org/docs/1.99.7/user/CommandLineClient.html#delete-link-function 一.了解sqoop数 ...

  7. [HTML/HTML5]4 使用文本

    4.1  组织文本 在已经采用结构化方式将页面划分为多个关键内容区域(content area)并添加相应的标题之后,就可以进一步对这些内容区域中的文本进行组织. 4.1.1  段落 p元素的具体功能 ...

  8. stopping NetworkManager daemon failed

    1 初次安装NetworkManager时发现,无法将这个服务关闭 2 上网找了一圈,也没找到原因 3 重启服务器后就能正常关闭了 4 将该服务删除重装也能正常关闭 5 下回重装系统时再观察一下

  9. IE兼容问题,各类css hack代码(亲测有效)

    现在大部分企业对浏览器兼容要求是IE7+或者IE8+,要求IE6的很少,此处一并写出. IE6: _margin-top: 20px; IE6+IE7: *margin-top: 20px; +mar ...

  10. JQmeter显示进度条

    <script type="text/javascript"> $(function(){ var percent = "${evICVDBean.resul ...