1

我正在尝试通过 XML 创建一个应该如下所示的背景:

纯白色背景,其中渐变位于此视图的顶部和底部以显示阴影。

我知道我可以通过使用多个视图来创建它并为每个视图创建一个可绘制的背景,但我认为可能有更好的解决方案!?

我尝试使用图层列表,但因为我无法设置“heigh”和/或“alignParentBottom”或类似的渐变的alpha,所以你看不到阴影......

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

    <!-- Drop Shadow Stack -->
    <item android:bottom="15dp">
        <shape>
            <gradient
                android:centerColor="#000"
                android:endColor="#0000"
                android:angle="90"/>
        </shape>
    </item>

    <!-- base background -->
    <item android:bottom="15dp" android:top="15dp">
        <shape android:shape="rectangle">
            <solid android:color="#fff"/>

        </shape>
    </item>

</layer-list>

也许那里有人知道我的意思,也许还有一个解决方案!?

4

1 回答 1

2

我找到了一个让我工作的解决方案。

它在顶部绘制一条线,在底部绘制 5dp 渐变。

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

    <!-- Drop Shadow Stack -->
    <item>
        <shape>
            <gradient
                android:centerColor="#D5E2ED"
                android:endColor="#0000"
                android:angle="90"/>
        </shape>
    </item>

    <item android:bottom="10dp">
        <shape>
            <padding android:top="1dp"/>
            <solid android:color="#D5E2ED"/>
        </shape>
    </item>

    <!-- base background -->
    <item android:bottom="5dp" android:top="1dp">
        <shape android:shape="rectangle">
            <solid android:color="#fff"/>
            <padding android:bottom="10dp" android:top="10dp"/>
        </shape>
    </item>

</layer-list>
于 2014-08-18T12:10:25.577 回答