我需要为我的按钮添加模糊的阴影:
我尝试使用 layer-list xml drawable 创建背景,但它看起来不像模糊。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Drop Shadow Stack -->
<item>
<shape>
<corners android:radius="45dp" />
<padding
android:bottom="2dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<stroke
android:width="6dp"
android:color="#007879E8" />
</shape>
</item>
////// 10 more items
<item>
<shape>
<corners android:radius="45dp" />
<padding
android:bottom="2dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<stroke
android:width="6dp"
android:color="#177879E8" />
</shape>
</item>
<!-- Background -->
<item>
<shape>
<corners android:radius="45dp" />
<stroke
android:width="2dp"
android:color="@color/main_purple_text_color" />
</shape>
</item>
</layer-list>
我还尝试使用带有模糊 png 的按钮后面的背景元素,但它使用了很多资源,我无法创建选择器来更改鼠标悬停或单击时的背景。
我需要为按钮设置单个背景文件,并使用选择器在悬停/单击时更改模糊和渐变。任何想法如何使用 Android SDK 实现这种效果?
更新 1
谢谢大家的回答,但我不是在问如何创建渐变。我已经这样做了。我需要创建模糊的阴影。
原文由 Vlad Morzhanov 发布,翻译遵循 CC BY-SA 4.0 许可协议
好吧,我找到了解决方案:我们需要通过此 生成器 创建带有模糊阴影的 9.png,并将其传递给包含按钮背景渐变的可绘制图层列表:
之后我们可以使用具有不同 9.path 模糊阴影的可绘制对象来创建选择器。