带有 Android 设计库的方形 FloatingActionButton

Square FloatingActionButton with Android Design Library

新的 android 设计库提供了 android.support.design.widget.FloatingActionButton 可以更轻松地实现浮动操作按钮。

但是按钮总是一个圆圈。

我从公司设计师那里收到了一个方形浮动按钮的概念,但我找不到任何参考来将 android.support.design.widget.FloatingActionButton 的背景更改为方形背景。

注意:如果我使用自定义可绘制对象,背景仍然有圆圈,如下所示:

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_filter"
    app:layout_anchor="@+id/appbar"
    app:layout_anchorGravity="bottom|right|end" />

我尝试使用简单的 Button,但它在折叠时似乎破坏了工具栏大小:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:elevation="10dp"
    android:background="@drawable/button_filter"
    app:layout_anchor="@+id/appbar"
    app:layout_anchorGravity="bottom|right|end" />

可以使用 FloatingActionButton 和新的 Android 设计库来制作方形按钮吗?

好的,在 FloatingActionButton 中使用属性 app:borderWidth="0dp" 解决了问题。

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_filter"
    app:layout_anchor="@+id/appbar"
    app:borderWidth="0dp"
    app:layout_anchorGravity="bottom|right|end" />

问题是 "android:background",请查看下面的模板并注意 "app:backgroundTint",将其用作模板,它应该可以工作:

<android.support.design.widget.FloatingActionButton
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/your_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="@dimen/floating_button_margin_bottom"
        android:layout_marginRight="@dimen/floating_button_margin_right"
        app:elevation="@dimen/floating_button_elevation"
        app:borderWidth="0dp"
        app:rippleColor="@color/your_ripple_color"
        app:backgroundTint="@color/your_bg_color" />