如何将渐变可绘制设置为 FloatingActionButton 上的 backgroundTint 属性
Posted
技术标签:
【中文标题】如何将渐变可绘制设置为 FloatingActionButton 上的 backgroundTint 属性【英文标题】:How to set gradient drawable as backgroundTint attribute on FloatingActionButton 【发布时间】:2017-09-27 17:59:12 【问题描述】:我想为浮动操作按钮使用渐变色而不是传统的纯色。
我已经知道如何修改按钮的背景颜色,使用ColorStateList
。有没有办法将以下可绘制对象实现为背景色调?
overlay.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#c25f82"
android:endColor="#5a3e60"
android:angle="-270" />
</shape>
【问题讨论】:
【参考方案1】:是的,您可以将渐变设置为 FAB,我刚刚发现了一个问题。
1.) 在drawable文件夹中创建一个gradient.xml,并在其中添加以下代码,
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:type="linear"
android:angle="0"
android:startColor="#03a9f4"
android:endColor="#e91e63" />
</shape>
2.) 在你的 dimens.xml 中添加这条线,
<dimen name="design_fab_image_size" tools:override="true">56dp</dimen>
3.) 在您的 Fab 中添加 android:src="@drawable/gradient"
【讨论】:
【参考方案2】:没有。正如您已经注意到的,色调始终是纯色。您可以将任何东西设置为背景,但我想这种方法会破坏支持 FAB。
【讨论】:
以上是关于如何将渐变可绘制设置为 FloatingActionButton 上的 backgroundTint 属性的主要内容,如果未能解决你的问题,请参考以下文章
如何让带有渐变的矢量可绘制对象在 < API 24 中工作?