android - 如何实现带有渐变背景和模糊阴影的圆形按钮?
问题描述
我正在努力实现这样的目标。
https://i.stack.imgur.com/SseaB.png
对于默认 Button/AppCompatButton,我曾尝试应用在 xml drawable 中预定义的带有圆角的渐变背景。但是如何用模糊实现阴影呢?
解决方案
创建一个可绘制类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>
推荐阅读
- javascript - 将数据分配给 for 中的对象
- ios - 第一次应用 Xcode 10 和 iOS 未运行
- r - 使用管道工和 R 发送 JSON 文件时的变量名称限制(10000 字节)
- kubernetes - 实例化负载均衡器时出错:服务不是 NodePort 类型,目标类型是实例
- python - 将成员添加到列表时出现 Tweepy 错误
- nginx - NGINX proxy_pass 通过公司 http_proxy
- google-sites - 无法转换为新的 Google 网站并使用相同的旧自定义网址
- search - Google 搜索 YouTube iframe 错误
- filenet-p8 - 通过 FEM 设置最大结果数
- java - 在android中删除json中的重复字段