简介
- include是在一个布局中,导入另一个布局文件。优势是:相同的页面只需写一次,提高了共通布局的复用性。下面我们以标题栏为例,详细说明它的使用步骤
使用步骤
-
第一步:通用布局 - 创建
title_bar.xml
// 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
布局<?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("朋友圈");