阴影般的drawable,使用"layer-list"

and*_*per 5 android gradient layer-list android-drawable

背景

我试图在视图下面制作一个(假)阴影,这样层就会以这种方式垂直:

  • 一行颜色"#43000000",高度为"1dp"
  • 在线下方,一个渐变,从顶部开始,颜色为"#1A000000",以颜色"#00000000"结束,高度为"8dp".

问题

出于某种原因,我无法正确绘制线条.

无论我做什么,由于某种原因,线条占据整个空间,而渐变似乎很好.

我尝试了什么

我尝试使用"line"作为形状和"矩形".我也尝试使用"笔画"而不是"实心",尝试添加填充和边距......

这是可绘制文件的XML:

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

    <item>
        <shape android:shape="rectangle" >
            <size android:height="1dp" />

            <solid android:color="#43000000" />
        </shape>
    </item>
    <item android:top="1dp">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="270"
                android:endColor="#00000000"
                android:startColor="#1A000000" />

            <size android:height="8dp" />
        </shape>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

同样,这不是我尝试过的唯一一件事.这只是我的第一次尝试.

这个问题

我该如何修复这个XML?是什么导致它发生?

and*_*per 9

这是我发现的工作:

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

    <item android:bottom="8dp">
        <shape android:shape="rectangle" >
            <size android:height="1dp" />

            <solid android:color="#43000000" />
        </shape>
    </item>
    <item android:top="1dp">
        <shape
            android:dither="true"
            android:shape="rectangle" >
            <gradient
                android:angle="270"
                android:endColor="#00000000"
                android:startColor="#10000000" />

            <size android:height="8dp" />
        </shape>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)