1. 程式人生 > >Android學習之路------layer-list drawable

Android學習之路------layer-list drawable

簡介

layer-list drawable主要用於drawable的疊加,從而實現一些比較好看的效果,不過後新增的drawable會覆蓋前面的drawable

一般定義如下:

<?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 = "" //方便在程式碼中對當前item進行查詢 android:left = "dimension" //距離容器佈局左邊的距離 android:right = "dimension" //距離容器佈局右邊的距離 android:top = "dimension" //距離容器佈局頂端的距離 android:bottom = "dimension" //距離容器佈局底端的距離 /> </layer-list
>

layer-list的drwable會自動縮放以適應容器佈局的大小

具體例項
myshape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<corners
    android:radius="5dp"/>
<size
    android:height="30dp"
    android:width="100dp"/>
<solid android:color="#ccccef"/> </shape>

myshape1.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <corners
        android:radius="5dp"/>
    <size
        android:height="50dp"
        android:width="80dp"/>
    <solid
        android:color="#cccc00"/>

</shape>

myshape2.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <corners
        android:radius="5dp"/>
    <size
        android:height="50dp"
        android:width="100dp"/>
    <solid
        android:color="#cc00ef"/>

</shape>

最後是layer-list的drawable

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/myshape"

        android:bottom="20dp"
        android:right="20dp"/>
    <item
        android:drawable="@drawable/myshape1"
        android:top="10dp"
        android:left="10dp"
        android:bottom="10dp"
        android:right="10dp"/>
    <item android:drawable="@drawable/myshape2"
        android:top="20dp"
        android:left="20dp"
        android:bottom="0dp"
        android:right="0dp"/>
</layer-list>

效果圖如下:
這裡寫圖片描述