Android圖層列表layer-list使用案例解析
概念
layer-list 是用來創(chuàng)建 LayerDrawable 的,LayerDrawable 是drawable 的一種。
基本使用方法以及注意項(xiàng)

<item android:drawable="@drawable/image" /><item><bitmap android:src="@drawable/image"android:gravity="center" /></item>
幾個(gè)應(yīng)用案例
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><!--陰影層--><item android:top="6dp"android:left="3dp"><shape android:shape="rectangle"><solid android:color="#b4b5b6"/><corners android:radius="5dp"/></shape></item><!--白色層--><item android:right="3dp"android:bottom="6dp"><shape android:shape="rectangle"><solid android:color="#ffffff"/><corners android:radius="5dp"/></shape></item></layer-list>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item><rotate android:fromDegrees="-10" android:pivotX="50%" android:pivotY="50%"><shape><solidandroid:color="@android:color/holo_blue_dark"/><sizeandroid:width="300dp"android:height="100dp"/><cornersandroid:radius="10dp"/></shape></rotate></item><item><rotate android:fromDegrees="10" android:pivotX="50%" android:pivotY="50%"><shape><solidandroid:color="@android:color/holo_green_dark"/><sizeandroid:width="300dp"android:height="100dp"/><cornersandroid:radius="10dp"/></shape></rotate></item><item><rotate android:fromDegrees="30" android:pivotX="50%" android:pivotY="50%"><shape><solidandroid:color="@android:color/holo_orange_dark"/><sizeandroid:width="300dp"android:height="100dp"/><cornersandroid:radius="10dp"/></shape></rotate></item></layer-list>

<ProgressBarandroid:id="@+id/progress_quality"android:layout_width="121dp"android:layout_height="13dp"style="?android:attr/progressBarStyleHorizontal"android:max="100"android:progressDrawable="@drawable/shop_percent_bar"/>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@android:id/background"><shape android:shape="rectangle"><solid android:color="#f7f7f7"/><cornersandroid:radius="10dp"/></shape></item><item android:id="@android:id/progress"><clip><shape android:shape="rectangle"><gradient android:type="linear"android:startColor="#fff3d432"android:endColor="#ffe0761f"android:angle="0" /><cornersandroid:radius="10dp"/></shape></clip></item></layer-list>

當(dāng)值不到100%時(shí),進(jìn)度條由clip來做會(huì)將進(jìn)度條截?cái)喑芍苯恰?/span>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@android:id/background"><shape android:shape="rectangle"><solid android:color="#f7f7f7"/><cornersandroid:radius="10dp"/></shape></item><item android:id="@android:id/progress"><scale android:scaleWidth="100%"><shape android:shape="rectangle"><gradient android:type="linear"android:startColor="#fff3d432"android:endColor="#ffe0761f"android:angle="0" /><cornersandroid:radius="10dp"/></shape></scale></item></layer-list>

注意使用scale標(biāo)簽需要添加android:scaleWidth="100%"這個(gè)屬性,否則設(shè)置進(jìn)度就不起作用了。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@color/splash_bg_color"/><itemandroid:gravity="center"android:bottom="90dp"><bitmap android:src="@mipmap/splash_center_logo"/></item><itemandroid:bottom="60dp"android:gravity="bottom|center"><bitmapandroid:antialias="true"android:gravity="center|bottom"android:src="@mipmap/splash_bottom_logo" /></item></layer-list>
注意:不打算讓圖片充滿容器要給圖片bitmap設(shè)置gravity,否則默認(rèn)會(huì)充滿容器。
<style name="AppSplash" parent="Theme.AppCompat.Light.NoActionBar"><item name="android:windowIsTranslucent">false</item><item name="android:windowFullscreen">true</item><item name="android:windowContentOverlay">@null</item><item name="android:windowBackground">@drawable/splash_pic</item><item name="android:background">@null</item><item name="android:windowDrawsSystemBarBackgrounds">false</item></style>
評論
圖片
表情
