前面一篇博客讲了merge标签的使用场景以及用法,这篇就讲一下include的使用,但是include标签说起来比较简单,所以就结合起merge标签
一起来讲。
merge标签之前说过了,所以就不说了。include标签的作用在于使得布局文件变得可复用,比如你在不同的布局文件中要加入相同的按钮或者
title时,那么这时候就可以在另外一个布局文件中设置好这个按钮或者title,然后使用include标签将这个设置好的布局文件插入到要添加的布局
文件中,这样就达到了布局的可复用。
用一个例子说明:
我要在一个布局文件中添加两个按钮,那么我可以在另外一个文件中先定义好这个按钮,然后使用include将这个文件插入进去
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="120dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_gravity="center_horizontal"
android:id="@+id/test">
</Button>
按钮xml文件定义好了之后,接下来就是使用include标签将这个xml布局文件插入到另一个布局文件中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
layout="@layout/save_cancel_bar_button"
android:id="@+id/save" />
<include
layout="@layout/save_cancel_bar_button"
android:id="@+id/cancel" />
</LinearLayout>
定义好了之后就能够根据id来获取button控件了。
以上就是include的使用方法。
接下来我们就来讲include标签和merge标签的结合使用
我们知道merge标签是layout文件的根元素,而include标签的作用复用layout布局文件,那么当include标签的父layout和其包含的layout的布局是
相同的,那么就可以使用merge进行优化了。下面就通过例子来说明include和merge的混合使用。
定义一个Activity xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_w