天天看點

Drawable資源——LayerDrawable 圖層清單

Drawable資源——LayerDrawable 圖層清單

1,認識

  它表示一種階層化的Drawable集合,通過将不同的Drawable放置在不同的層上面進而達到一種疊加後的效果。系統将會按這些Drawable對象的數組順序來繪制它們,索引最大的Drawable對象将會被繪制早最上面。

建立XML檔案:

           定義LayerDrawable對象的XML檔案的根元素為<layer-list.../>,

           該元素可以包含多個<item.../>元素,

檔案位置 ︰

         res/drawable/filename.xml

         檔案名用作資源 id。

文法

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

           <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

             <item

               android:drawable="@[package:]drawable/drawable_resource"

              android:id="@[+][package:]id/resource_name"

               android:top="dimension"

               android:right="dimension"

               android:bottom="dimension"

               android:left="dimension" />

           </layer-list>

2,各屬性注解

    (1)<layer-list>  屬性

         xmlns:android  字元串。所需。定義 XML 命名空間,

  必須是"http://schemas.android.com/apk/res/android"

  (2)<item> 屬性:

         android:id:

                  為該Drawable對象指定一個辨別

         android:drawable:

                  指定作為LayerDrawable元素之一的Drawable對象

         android:buttom  

                  它們用于指定一個底部的長度值,用于指定将該drawable

                  對象繪制到目标元件的指定位置。

         android:top

                  它們用于指定一個頂部的長度值,用于指定将該drawable

                  對象繪制到目标元件的指定位置。

         android:left

                  它們用于指定一個左邊的長度值,用于指定将該drawable

                  對象繪制到目标元件的指定位置。

         android:right  

                  它們用于指定一個右邊的長度值,用于指定将該drawable

                  對象繪制到目标元件的指定位置。

3,代碼示例

(1)activity_layer_drawable_useing.xml

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

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"

     >

    <!-- 定義軌道的背景 -->

    <item android:id="@android:id/background"

        android:drawable="@drawable/grow" />

    <!-- 定義軌道上已完成部分的外觀-->

    <item android:id="@android:id/progress"

        android:drawable="@drawable/ok" />

</layer-list>

(2)layer_drawable_useing_2.xml

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

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>

        <bitmap

            android:gravity="center"

            android:src="@drawable/icon" />

    </item>

    <item

        android:left="25dp"

        android:top="25dp">

        <bitmap

            android:gravity="center"

            android:src="@drawable/icon" />

    </item>

    <item

        android:left="50dp"

        android:top="50dp">

        <bitmap

            android:gravity="center"

            android:src="@drawable/icon" />

    </item>

</layer-list>

(3)layer_drawable_useing_3.xml

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

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item >

        <shape android:shape="rectangle">

            <solid android:color="#0ac39e"/>

        </shape>

    </item>

    <item android:bottom="6dp">

        <shape android:shape="rectangle">

            <solid android:color="#ffffff"/>

        </shape>

    </item>

    <item android:bottom="3dp"

        android:left="3dp"

        android:right="3dp">

        <shape 

            android:shape="rectangle">

            <solid android:color="#ffffff"/>

        </shape>

    </item>

</layer-list>