繁体   English   中英

更改FloatingActionButton的背景?

[英]Change background on FloatingActionButton?

我试图将FAB的背景设置为XML中的不同颜色。 我知道我可以在代码中做到这一点,但这也需要我很多不方便的重构。

<android.support.design.widget.FloatingActionButton
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="#F38E1B"
    android:id="@+id/fab"/>

在此输入图像描述

出于某种原因,当背景应为橙色时,背景会保持蓝色。 我已经尝试将背景设置为drawable,但产生相同的结果。

这是一个错误还是我错过了一些东西?

我也尝试使用与您相同的方法,并获得相同的结果。 我的解决方案就是:

<item name="colorAccent">@color/yourColor</item>

在我的应用主题中。

但是,此颜色也将用于所有小部件中。

希望这可以帮助!

我有同样的问题。 这就是我解决问题的方法:我只是为我的按钮创建一个新主题。

我的FAB xml:

<android.support.design.widget.FloatingActionButton
      ...
      android:theme="@style/MapButton"/>

我在style.xml中的新主题:

<style name="MapButton" parent="AppTheme">
        <item name="colorAccent">#FFFFFF</item></style>

我根据App的主题创建了一个新主题,只改变了我想要的颜色。

希望能帮助到你。

好吧我明白了。 事实证明你必须将背景设置为drawable(感谢@Nilesh),但是我将它设置为drawable时出现了问题。 我用过这个:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="oval">
            <solid android:color="@color/al_color_accent_orange_light"/>
        </shape>
    </item>
</layer-list>

作为我的绘画,它的工作原理。

由于FloatingActionButton扩展了ImageView

看到这个链接

另见76号线

他们正在获得drawable background ,你正在设置color

所以我认为你不能用color改变它。

尝试将drawable设置为背景

看到这个链接第20行

在xml中

<android.support.design.widget.FloatingActionButton
    ...
    app:backgroundTint="@color/background_tint"
    android:src="@drawable/ic_add" />

在代码中

mFlaotsetBackgroundTintList(ColorStateList.valueOf(Color.Blue))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM