[Android developers blog 学习笔记]android 布局优化:标签include和merge的使用
来源:互联网 发布:pc6下载站,软件 编辑:程序博客网 时间:2024/05/22 15:04
一、include
1、include的含义,就是把指定的xml文件包含进来。它有两个主要的用处:
(1、include 主要用来减少重复代码,如果你在xml中定义了一个布局,在其他的xml布局文件中会多次用到,这时候,include就派上用场了。示例代码如下(摘自launcher源码):
(2、用来定制部分UI,例如,你有一个xml文件,大部分都适用横屏和竖屏的布局,但是有一小部分横竖屏是不一样的。这时候,就可以使用include标签,在 layout-land/ 和 layout-port/ 中定制各自的xml文件。
<com.android.launcher.Workspace android:id="@+id/workspace" android:layout_width="fill_parent" android:layout_height="fill_parent" launcher:defaultScreen="1"> <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> <include android:id="@+id/cell3" layout="@layout/workspace_screen" /></com.android.launcher.Workspace>
2、注意事项:
(1、include 标签中,layout是必须的属性,它指向另一个xml布局。
(2、include标签可以指定ID,指定之后他会覆盖layout的xml中指定的id。
(3、include标签中,所有的layout_*的属性都是可用的。
二、merge
merge的作用是用来减少布局层次。它的意思大概是,merge标签里面的这些布局,都直接作用在他的父布局中。
如果你的布局中,包含另一个相同的布局,就可以考虑使用merge标签。
常用的情况:
1、如果activity的最底层布局是match parent 的FrameLayout, 这时候就可以使用merge标签代替。因为android体统自动给你的activity跟布局包含在一个FrameLayout中。
2、include 另一个布局,这个布局和它的父布局是相同的Layout, 这时候就可以使用merge代替子Layout
注意事项:
1、merge标签只能用在xml中的根标签。
2、如果使用inflate来引入一个merge的xml文件,必须设置attachToRoot的属性为真。
3、merge是不能设置背景的。记住,它不是一个ViewGroup
三、android developers blog的相应网址:
http://www.curious-creature.com/2009/02/25/android-layout-trick-2-include-to-reuse/
http://android-developers.blogspot.com.br/2009/03/android-layout-tricks-3-optimize-by.html
- [Android developers blog 学习笔记]android 布局优化:标签include和merge的使用
- android 布局优化标签<include/>、<merge />、<ViewStub />
- Android 布局优化 include,merge,viewstub标签
- Android中使用include标签和merge标签重复使用布局
- Android中使用include标签和merge标签重复使用布局
- Android 布局优化merge标签的使用
- 在android布局中使用include和merge标签
- 在android布局中使用include和merge标签
- 在android布局中使用include和merge标签
- 在android布局中使用include和merge标签
- 在android布局中使用include和merge标签
- 在android布局中使用include和merge标签
- 【转】在Android布局中使用include和merge标签
- 在android布局中使用include和merge标签
- 在android布局中使用include和merge标签
- Android布局优化几个重要标签的使用include、merge、ViewStub、requestFocus
- Android 布局优化几个重要标签的使用include、merge、ViewStub、requestFocus
- Android使用include/merge/ViewStub优化布局
- Codeforces Round #313 (Div. 2)E. Gerald and Giant Chess(Lucas定理+dp)
- 解读Android之ContentProvider(2)创建自己的Provider
- C++生成二维码总结
- NSDictionary and NSMutableDictionary
- chromium:LoadUrl之后会发生那些事情之CompositedLayer 创建
- [Android developers blog 学习笔记]android 布局优化:标签include和merge的使用
- XCode创建C++工程
- 巻き込まれて異世界転移する奴は
- DOM简述
- HDU 1548
- ubuntu设置系统时间与网络时间同步(转)
- 正数的算术平均值不小于几何平均值的一个初等证明
- 判断两个( float )变量是否相等以及和 0 值比较方法
- Python 3语法小记(九) 异常 Exception