本人菜鸟一枚写这篇文章是为了记录学习过程,文章的内容会借鉴大牛的讲解。如果内容中有错误的希望提出指正。
随着布局复杂度的不断增加,布局的层级也逐步增加,一般建议布局的层级不要大于10。<include>标签主要用于布局重用,一般<merge>和<include>会配合使用。
<include>标签可以实现在一个layout中引用另一个layout布局,主要为了解决界面布局复杂、不同界面有共用布局的问题,比如一个APP的顶部布局、侧边栏布局、ListView和GridView每一项的布局等。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
tools:context="com.dyoon.includetest.MainActivity">
<include layout="@layout/chilrd_layput"
android:id="@+id/include"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="hello" />
</LinearLayout>
线性布局中包含一个布局和一个TextView
chilrd_layput.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"
>
<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名"/>
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="提交"
android:background="@android:color/holo_blue_bright"/>
</LinearLayout>
最终的效果图
注意事项:
(1)<include>标签支持的属性包括android:layout_开头的和android:id
(2)如果<include>标签指定了id属性,被包含的布局根元素也指定了id,那么以include的id为准