为 FloatingActionButton 设置 src 和背景

Setting src and background for FloatingActionButton

当我在 android.support.design.FloatingActionbutton 中使用 background 和 src 时,它设置不正确。相反,它显示为

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/pink"
android:src="@drawable/ic_action_barcode_2"
android:layout_gravity="bottom|right"
android:layout_marginBottom="16dp"
android:layout_marginRight="16dp" />

但是当我使用 ImageView 时它正确显示为

<ImageView
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/pink"
android:src="@drawable/ic_action_barcode_2"
android:layout_gravity="bottom|right"
android:layout_marginBottom="16dp"
android:layout_marginRight="16dp" />

为什么 FloatingActionButton 显示不正确?我应该在我的代码中更改什么?

浮动操作按钮的背景不需要更改,您只需应用色调,然后像往常一样添加图标

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

这为您提供了一个圆形按钮,但颜色仍然是您想要的。 在这种情况下,app 命名空间用于支持库功能:

xmlns:app="http://schemas.android.com/apk/res-auto"

我遇到了类似的问题。我尝试设置FloatingActionButton 的src 或背景,但无法通过src 填充按钮。以下代码为我解决了问题。

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    .
    .
    .
    android:background="@drawable/round_icon"
    android:backgroundTintMode="src_over">