天天看點

【layout】Android中include的使用

如果在程式中多次用到一部分相同的布局,那我們就需要xml布局的重複利用,首先定義一個重複利用的XML布局,然後在需要的地方通過<include>引入,如下:

layout.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content">

    <include

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/item1"

        layout="@layout/item"

        android:layout_marginTop="10dp"

        android:layout_marginLeft="45dp" />

    <include

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/cell2" layout="@layout/item"

        android:layout_toRightOf="@+id/item1"

        android:layout_alignTop="@+id/item1"

        android:layout_marginLeft="20dp" />

    <include

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/cell3" layout="@layout/item"

        android:layout_toRightOf="@+id/item2"

        android:layout_alignTop="@+id/item1"

        android:layout_marginLeft="20dp" />

</RelativeLayout>
           

item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="invisible">
    <ImageView
        android:background="#000000"
        android:id="@+id/iv_img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:focusable="false" />
    <TextView
        android:id="@+id/tv_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#a17006"
        android:textStyle="bold" android:textSize="22dp"
        android:layout_alignLeft="@+id/iv_img"
        android:layout_below="@+id/iv_img" />
</RelativeLayout>
           

用 Android include時需指定寬高,否則可能會出現一些意想不到的效果,比如引用了三次,而界面上隻顯示了一個item。