【问题标题】:Change background on FloatingActionButton?更改 FloatingActionButton 的背景?
【发布时间】:2015-06-16 16:48:45
【问题描述】:

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

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

由于某种原因,本应为橙色的背景仍为蓝色。我也尝试将背景设置为可绘制对象,但结果相同。

这是一个错误还是我只是错过了什么?

【问题讨论】:

标签: android android-layout material-design


【解决方案1】:

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

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

在我的应用程序主题中。

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

希望这会有所帮助!

【讨论】:

  • 谢谢,但这是一个相当大的应用程序,所以我不认为这是一个选项。
【解决方案2】:

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

我的 FAB xml:

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

我在 style.xml 中的新主题:

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

我根据我的应用主题创建了一个新主题,并且只更改了我想要的颜色。

希望对你有帮助。

【讨论】:

    【解决方案3】:

    好的,我想通了。事实证明,您确实必须将背景设置为可绘制对象(感谢@Nilesh),但我设置的可绘制对象有问题。我用这个:

    <?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>
    

    作为我的可绘制对象,它起作用了。

    【讨论】:

      【解决方案4】:

      作为FloatingActionButton 扩展ImageView

      看到这个link

      另见第 76 行

      他们将background 设为drawable,而您正在设置color

      所以我认为您不能使用 color 更改它。

      尝试将drawable 设置为背景

      查看此link第 20 行

      【讨论】:

        【解决方案5】:

        在xml中

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

        在代码中

        mFlaotsetBackgroundTintList(ColorStateList.valueOf(Color.Blue))
        

        【讨论】:

          猜你喜欢
          • 2019-03-07
          • 2018-01-06
          • 2021-10-27
          • 1970-01-01
          • 2022-01-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-01
          相关资源
          最近更新 更多