如何实现具有渐变背景和模糊阴影的圆角按钮



我正在努力实现这样的事情。

https://i.stack.imgur.com/SseaB.png

对于默认的按钮/AppCompatButton,我尝试应用在 xml 可绘制对象中预定义的圆角渐变背景。但是如何实现模糊阴影呢?

创建可绘制类bg_theme_round_layer_shadow

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <!-- Drop Shadow Stack -->
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#02AAAAAA" />
            <corners android:radius="46.5dp" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#05AAAAAA" />
            <corners android:radius="46dp" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#0FAAAAAA" />
            <corners android:radius="45.5dp" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#1CAAAAAA" />
            <corners android:radius="44.5dp" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#24AAAAAA" />
            <corners android:radius="43.5dp" />
        </shape>
    </item>
    <!-- Background -->
    <item>
        <shape>
            <!--<solid android:color="@color/theme_color" />-->
            <gradient android:endColor="@color/gradient_normal_end" android:startColor="@color/gradient_normal_start"/>
            <corners android:radius="43dp" />
        </shape>
    </item>
</layer-list>

将这些颜色放入您的颜色文件中

<color name="gradient_normal_start">#e85d7b</color>
<color name="gradient_normal_end">#efa645</color>

最新更新