----参考,转载,借用来源:http://blog.csdn.net/guolin_blog/article/details/12921889

Activity类中onCreate方法中,setContentView()方法,之所以是setContentView,是因为系统会自动在我们的Activity的布局文件的最外层包一层FrameLayout,所以方法才是setContentView,而不是setView,具体原理解析可以用下面这张图来表示:

而我们经常在xml布局文件中设置的layout_width,layout_height 其实相对父布局而言的,所以我们最外层的layout_width以及layout_height属性之所以有效果,是因为系统自动在最外面套了一层FrameLayout。

所以在我们自定义一个view,并添加到当前布局的时候需要自己手动的传入一个LayoutParameter,才能设置大小,左右边距等等属性。。----待验证

2. LayoutInflater的使用方法:

  a. LayoutInflater inflater = LayoutInflater.from(context);

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

a方法是b方法的精简版

3.inflate方法的重构

  inflater(resouceId,root) : resourceId是指要加载的布局的资源文件Id,root指的是给该布局外层再嵌套一个父布局,如果不需要就直接传入null。这样就成功创建了一个布局的实例,之后再将它动态添加到父布局中就可以了。

  inflater(resouceId,root,attachToRoot): 前两个参数和上面一样:

    a. 如果root为null,则attachToRoot失去作用,设置成任何值都没有一样

    b. 如果root不为null,attachToRoot为true,则为布局添加一个父布局,即root

    c. 如果root不为null,attachToRoot为false,则会将该布局的layout_width及layout_height属性设置成最外层的布局的两个属性一致。即如果最外层是match_parent,那么该布局也是match_parent

    d. 不设置attachToRoot,如果root不为null,则attachToRoot默认为true;

    

LayoutInflater学习总结的更多相关文章

  1. Android—LayoutInflater学习笔记

    LayoutInflater的的主要用处:使用LayoutInflater来载入界面,类似于findViewById()在Activity中加载Widget组件一样.区别在于与LayoutInflat ...

  2. Android LayoutInflater学习

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  3. Android学习之Layoutinflater的用法

    •她的第一次 话说,那是一个风雪交加的夜晚,看着她独自一个人走在漆黑的小道上,我抓紧跟了过去: 那晚,我们...... 记得第一次接触这个 Layoutinflater 应该是在学习 ListView ...

  4. Android(java)学习笔记114:LayoutInflater和findViewById

    1. 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(). 不同点是LayoutInflater是用来找res/layout/下的xml布局文件, ...

  5. android学习—— LayoutInflater的使用

    在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(),不同点是LayoutInflater是 用来找layout下xml布局文件,并且实例化!而fi ...

  6. Android学习笔记之View(一):LayoutInflater

    使用LayoutInflater加载布局的两种方式: 第一种: LayoutInflater inflater=LayoutInflater.from(context); inflater.infla ...

  7. [Android学习笔记]LayoutInflater的使用

    LayoutInflater用于动态载入布局,然后获取到布局中定义完成的控件引用 常在动态加载布局,和Adapter中用到 使用步骤:1.通过LayoutInflater加载xml布局文件2.从载入的 ...

  8. [Android FrameWork 6.0源码学习] LayoutInflater 类分析

    LayoutInflater是用来解析XML布局文件,然后生成对象的ViewTree的工具类.是这个工具类的存在,才能让我们写起Layout来那么省劲. 我们接下来进去刨析,看看里边的奥秘 //调用i ...

  9. Android(java)学习笔记55:LayoutInflater 和 findViewById

    1. 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(). 不同点是LayoutInflater是用来找res/layout/下的xml布局文件, ...

随机推荐

  1. PLC状态机编程第一篇-状态机介绍

    状态机的一般概念 过去我在学习PLC编程时,看的大部分书仅仅停留在软件的操作上,没有真正讲述如何组织程序,这里我们讲一个通用的描述控制算法的方法,就是状态机,和SFC很类似,其实SFC也是源于状态机啦 ...

  2. Python 编码格式的使用

    编码史 ASCII > Unicode > UTF-8 Unicode支持多语言,UTF-8自动转换长短细节节省空间 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传 ...

  3. cf978E Bus Video System

    The busses in Berland are equipped with a video surveillance system. The system records information ...

  4. protobuf-2.5.0的下载与安装

    1.下载 Hadoop使用protocol buffer进行通信,需要下载和安装protobuf-2.5.0.tar.gz.由于现在protobuf-2.5.0.tar.gz已经无法在官网https: ...

  5. 【02】webstorm配置babel转换器+截图(by魔芋)

    [02]webstorm配置babel转换器+截图(by魔芋)   [02]魔芋的安装过程     01,配置babel.   02,用webstorm.注意webstorm的版本号.   03,使用 ...

  6. gprof使用介绍 (gcc -pg) [转]

    原文出处: http://blog.csdn.net/unbutun/article/details/6609498 linux服务端编程,性能总是不可避免要思考的问题. 而单机(严格的说是单核)单线 ...

  7. java 解析/读取 种子/bt/torrent 内容

    碰到不会的技术问题,我还是先度娘.能中文看懂,为什么非要看英文呢. java 解析/读取 种子/bt/torrent  内容,这个度娘给的满意答案并不是很多.GG之后的搜索结果出现了stackover ...

  8. javascript类式继承模式#3——借用和设置原型

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. lintcode

    public class Solution { /** * @param s: The first string * @param b: The second string * @return tru ...

  10. 【APUE】Chapter8 Process Control

    这章的内容比较多.按照小节序号来组织笔记的结构:再结合函数的示例带代码标注出来需要注意的地方. 下面的内容只是个人看书时思考内容的总结,并不能代替看书(毕竟APUE是一本大多数人公认的UNIX圣经). ...