android布局的复用
来源:互联网 发布:云led控制软件 编辑:程序博客网 时间:2024/06/13 02:20
前言
android布局的复用包括:include,merge和ViewSub。下面分别进行介绍。
include的使用
include是最常用的复用标签。通过include的layout顺序即可进行布局的复用。include虽然不是控件,但是其所有的android:layout_*属性都是有效的,前提是必须要写layout_width和layout_height两个属性。
另外,需要注意的一点是关于id的重名问题。这里提供一个解决方法:
举个例子:
<include android:id="@+id/bookmarks" layout="@layout/bookmarks_element" /><include android:id="@+id/bookmarks_favourite" layout="@layout/bookmarks_element" />
假如在布局bookmarks_element中有个控件的id为bookmarks_list,此时第二个重复的控件可以通过以下对其进行实例化:
View bookmarks_container_2 = findViewById(R.id.bookmarks_favourite); bookmarks_container_2.findViewById(R.id.bookmarks_list);
层级视图标签merge的使用
<merge/>
标签在UI的结构优化中起着非常重要的作用,它可以删减多余的层级,优化UI。<merge/>
多用于替换FrameLayout或者当一个布局包含另一个时,<merge/>
标签消除视图层次结构中多余的视图组。例如你的主布局文件是垂直布局,引入了一个垂直布局的include,这是如果include布局使用的LinearLayout就没意义了,使用的话反而减慢你的UI表现。这时可以使用<merge/>
标签优化。
这个可以这样理解:即假设你想要将一个布局放到一个竖直的LinearLayout中,此时被引用的布局就不需要再使用LinearLayout进行包裹了。此时可以使用merge进行优化,以减少布局的层级结构。
创建好了布局例如:
<merge xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/add"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/delete"/></merge>
此时你就可以通过<include>
标签对该布局进行引用了。系统会默认忽略 <merge>
标签。
关于include,merge的官方介绍
ViewSub的使用
1 0
- android布局的复用
- Android中对于布局的复用
- Android的布局复用与优化
- android布局之二:布局复用
- Android通过在布局文件中设置include实现xml布局的复用
- Android--ListView多布局的复用简介
- Android中ListView复用导致布局错乱的解决方案
- android的帧布局,绝对布局,相对布局,表格布局
- 布局的复用
- Android的动画布局
- Android的布局
- Android的布局控制
- android的布局
- android 常用的布局
- Android的界面布局
- Android的布局介绍
- android布局的学习
- android的各种布局
- leetcode系列(76)Remove Linked List Elements
- 逐梦C++之二:输入与输出
- HDOJ 5615 Jam's math problem (数学题枚举)
- (二)colletions模块总结,跳出3重循环代码总结,替换文件中某一字段代码总结
- iOS使用DES加解密
- android布局的复用
- java入门实例之小试牛刀--利用Scanner制作个人简历
- LeetCode152. Maximum Product Subarray
- The vertically scrolling ScrollView should not contain another vertically scrolling widget (ListView
- 对称加密 非对称加密 不可逆加密算法
- 如何将word文件转化为Latex文件:word-to-latex-2.56详解
- HDOJ 5616 Jam's balance (暴力)
- HDU1754 线段树
- hdoj--1829--A Bug's Life(带权并查集)