如何在FloatingActionButton上将渐变可绘制设置为backgroundTint属性

时间:2017-04-29 20:25:20

标签: android drawable gradient background-color floating-action-button

我想使用渐变色而不是传统的纯色作为浮动动作按钮。

我已经知道如何使用ColorStateList修改按钮的背景颜色。有没有办法将以下drawable实现为背景色调?

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>

2 个答案:

答案 0 :(得分:2)

是的,您可以将渐变设置为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"

答案 1 :(得分:0)

没有。正如您已经注意到的,色调始终是纯色。你可以将任何东西设置为背景,但我想这种方法会破坏对FAB的支持。