Android布局文件之 include 详细介绍
include简介
众所周知,include就是在一个布局中,导入另一个布局文件。
优势是:相同的页面只需写一次,提高了共通布局的复用性。
下面我们以标题栏为例,详细介绍其使用步骤:
include使用步骤
// 第一步:通用布局创建:title_bar
// title_bar
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/bar"
android:gravity="center"
android:background="@android:color/holo_blue_light">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="标题栏"
android:textSize="30dp"
android:textColor="@android:color/white"
/>
</LinearLayout>
// 第二步:在想要引入 title_bar的布局中引入
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/title_bar"/>
</LinearLayout>
引入后,效果图如下:
// 第三步 如果我们需要 include 两个甚至多个相同的布局时,如何区分其 ID 值呢?
我们可以在 include 时重新 指定一个新的id,用来区别。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/bar1"
layout="@layout/title_bar" />
<include
android:id="@+id/bar2"
layout="@layout/title_bar" />
</LinearLayout>
java代码:
View bar1 = findViewById(R.id.bar1);
View bar2 = findViewById(R.id.bar2);
TextView tv1 = (TextView) bar1.findViewById(R.id.textView);
TextView tv2 = (TextView) bar2.findViewById(R.id.textView);
tv1.setText("首页");
tv2.setText("朋友圈");
效果图: