Android布局文件之 include 详细介绍

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>

引入后,效果图如下:Android布局文件之 include 详细介绍_第1张图片

// 第三步 如果我们需要 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("朋友圈");

效果图:Android布局文件之 include 详细介绍_第2张图片

你可能感兴趣的:(Android布局文件之 include 详细介绍)