Android布局知识整理一
2017-07-23 22:05
309 查看
最近感觉有点累呀,但是还得坚持下去,把知识一点一点梳理。今天稍微放松放松,整理一些小的知识点,大框架过两天再看。好了,下面直接进入今天的主题。Android布局知识整理。
一提到布局,面试官常问的问题是你用过include,merge和viewstub吗。
下面就来说说这三个布局。
include
是布局重用,这个一般在项目中用的比较多。使用方法为<include layout="@layout/titlelayout"/>
其中titlelayout是一个xml的布局文件。这行代码就表示你在xml文件中include的位置引入了titlelayout布局。
include的好处是可以减少你的代码量,当遇到需要加载同样的布局时,就可以使用include方法。
merge
减少视图层级,当你使用include标签时,如果是在一个linearLayout中引入了一个linearLayout,引入的那个线性布局很有可能就是多余的。这时就可以使用merge标签。比如一个布局中外层使用merge标签,里面放了两个button,当系统添加该布局文件时,就会忽略merge节点,直接添加两个button。
viewstub
需要时候才加载。用法为(ViewStub) findViewById(R.id.stub_impoort)或者View view = ((ViewStub) findViewById(R.id.layout)).inflate();
注意,ViewStub目前暂不支持merge标签。
过度绘制
过度绘制主要指的是每一层,每个控件的背景颜色,图片。当一个布局中有多个view重叠时,尽量去除不必要的背景颜色,这样可以减少过度绘制。
另外,我们应尽量减少布局层数。如可以用相对布局代替的,就不用线性布局。
一提到布局,面试官常问的问题是你用过include,merge和viewstub吗。
下面就来说说这三个布局。
include
是布局重用,这个一般在项目中用的比较多。使用方法为<include layout="@layout/titlelayout"/>
其中titlelayout是一个xml的布局文件。这行代码就表示你在xml文件中include的位置引入了titlelayout布局。
include的好处是可以减少你的代码量,当遇到需要加载同样的布局时,就可以使用include方法。
merge
减少视图层级,当你使用include标签时,如果是在一个linearLayout中引入了一个linearLayout,引入的那个线性布局很有可能就是多余的。这时就可以使用merge标签。比如一个布局中外层使用merge标签,里面放了两个button,当系统添加该布局文件时,就会忽略merge节点,直接添加两个button。
viewstub
需要时候才加载。用法为(ViewStub) findViewById(R.id.stub_impoort)或者View view = ((ViewStub) findViewById(R.id.layout)).inflate();
注意,ViewStub目前暂不支持merge标签。
过度绘制
过度绘制主要指的是每一层,每个控件的背景颜色,图片。当一个布局中有多个view重叠时,尽量去除不必要的背景颜色,这样可以减少过度绘制。
另外,我们应尽量减少布局层数。如可以用相对布局代替的,就不用线性布局。
相关文章推荐
- 《Android开发自我整理知识——Android布局》
- Android 五大布局-和整理的知识
- android开发基础知识(3) ---五大布局
- Activity详解、Intent使用、Fragment详解-Android基础知识整理
- android布局的一些知识
- Android初级教程理论知识(第二章布局&读写文件)
- 手机操作系统知识整理(二):Android UID 机制
- android-基础知识整理--四大组件(未完)
- Android 使用dip单位进行布局的一点知识
- android 自定义控件学习之三 控件布局常用知识总结
- 【知识整理】Android 时间工具DateUtil
- Android布局整理
- Android 相对布局有关知识
- Android Telephony Framework相关知识整理
- Android签名相关知识整理
- android整理的一些基础知识
- Android常用布局类整理(一)
- 《Android开发自我知识整理——校验APK文件完整性》
- 《Android开发自我整理知识——开发环境搭建》
- android 相关知识整理