1. 程式人生 > >Android-Layer list

Android-Layer list

Coding otto stat android-l lec raw strong right solid

Android-Layer list

使用layer-list 可以將多個 drawable 按照順序層疊在一起顯示。

1.我們可以通過 layer-list 和 selector 來實現下圖效果

技術分享圖片

該圖通過使用一個紅色背景層和一個白色背景層實現,白色背景層在通過設置 android:bottom 向上偏移,顯示圖底部紅色背景層。 偏移屬性其實和 Margin 一個作用。

代碼:

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

    <item android:state_checked="true">
        <layer-list>
            <item android:drawable="@android:color/holo_red_dark" />
            <item android:bottom="4dp" android:drawable="@android:color/white" />
        </layer-list>
    </item>


    <item android:state_checked="false">
        <layer-list>
            <item android:drawable="@android:color/holo_red_dark" />
            <item android:bottom="2dp" android:drawable="@android:color/white" />
        </layer-list>
    </item>

</selector>

2. 實現陰影效果

技術分享圖片

偏移指的是移動整個圖層

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 灰色陰影 -->
    <item
        android:left="2dp"
        android:top="4dp">
        <shape>
            <solid android:color="@android:color/darker_gray" />
            <corners android:radius="10dp" />
        </shape>
    </item>
    <!-- 白色前景 -->
    <item
        android:bottom="4dp"
        android:right="2dp">
        <shape>
            <solid android:color="#FFFFFF" />
            <corners android:radius="10dp" />
        </shape>
    </item>

</layer-list>

學習自 : Keegan小鋼 (http://keeganlee.me/post/android/20150909)

Android-Layer list