LayoutInflater学习总结
----参考,转载,借用来源: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学习总结的更多相关文章
- Android—LayoutInflater学习笔记
LayoutInflater的的主要用处:使用LayoutInflater来载入界面,类似于findViewById()在Activity中加载Widget组件一样.区别在于与LayoutInflat ...
- Android LayoutInflater学习
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...
- Android学习之Layoutinflater的用法
•她的第一次 话说,那是一个风雪交加的夜晚,看着她独自一个人走在漆黑的小道上,我抓紧跟了过去: 那晚,我们...... 记得第一次接触这个 Layoutinflater 应该是在学习 ListView ...
- Android(java)学习笔记114:LayoutInflater和findViewById
1. 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(). 不同点是LayoutInflater是用来找res/layout/下的xml布局文件, ...
- android学习—— LayoutInflater的使用
在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(),不同点是LayoutInflater是 用来找layout下xml布局文件,并且实例化!而fi ...
- Android学习笔记之View(一):LayoutInflater
使用LayoutInflater加载布局的两种方式: 第一种: LayoutInflater inflater=LayoutInflater.from(context); inflater.infla ...
- [Android学习笔记]LayoutInflater的使用
LayoutInflater用于动态载入布局,然后获取到布局中定义完成的控件引用 常在动态加载布局,和Adapter中用到 使用步骤:1.通过LayoutInflater加载xml布局文件2.从载入的 ...
- [Android FrameWork 6.0源码学习] LayoutInflater 类分析
LayoutInflater是用来解析XML布局文件,然后生成对象的ViewTree的工具类.是这个工具类的存在,才能让我们写起Layout来那么省劲. 我们接下来进去刨析,看看里边的奥秘 //调用i ...
- Android(java)学习笔记55:LayoutInflater 和 findViewById
1. 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(). 不同点是LayoutInflater是用来找res/layout/下的xml布局文件, ...
随机推荐
- day1_作业2(三级菜单)
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- province={'江苏省':['南京市','苏州市','无锡市'],'浙江省':['杭州市','温州 ...
- 笔记-python-statement-with
笔记-python-statement-with 1. with语句 1.1. 基础使用案例 在开发时,经常使用with语句来打开文件: with open(‘a.txt’,’a+’, ...
- linux c scanf()小解
今天学习了新的内容,关于c语言的scanf()函数. scanf()函数,读取指定格式的值赋值给相应变量.空格(‘ ‘),回车('\n'),TAB是分隔符,轻易不会被读取.还有,该函数的返回值是正确读 ...
- GPIO基础知识
STM32 GPIO入门知识 GPIO是什么? 通用输入输出端口,可以做输入,也可以做输出.GPIO端口可通过程序配置成输入或输出. 引脚和GPIO的区别和联系 STM32的引脚中,有部分是做GPIO ...
- 03,Python网络爬虫第一弹《Python网络爬虫相关基础概念》
爬虫介绍 引入 为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从就业上. 我们都知道,当前我们所处的时代 ...
- Java代码中获取配置文件(config.properties)中内容的两种方法
方法千千万,本人暂时只总结了两种方法. (1)config.properties中的内容如图 在applicationContext.xml中配置 <!-- 引入配置文件 --> < ...
- laravel5.5任务调度
目录 1. 定义调度 1.1 使用Closure 1.2 Artisan 命令调度 1.3 队列任务调度 1.4 Shell 命令调度 1.5 调度频率设置 1.6 闭包测试限制 1.7 避免任务重复 ...
- 玩转Openstack之Nova中的协同并发(一)
玩转Openstack之Nova中的协同并发(一) 前不久参加了个Opnstack的Meetup,其中有一个来自EasyStack的大大就Nova中的协同并发做了一番讲解,有所感触,本想当天就总结一下 ...
- scp 将数据从一台linux服务器复制到另一台linux服务器
原文地址:http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html 完整内容参考原文! scp 是secure copy的简写,用于在 ...
- pytest单元测试框架
一.安装方式 1.安装命令:pip install pytest 2.html安装插件:pip install pytest -html 二.pytest执行指定测试用例 1.思想:通过对测试用例进行 ...