如何自定义浮动操作按钮形状?

QTh*_*son 4 android android-button floating-action-button material-components material-components-android

我正在尝试创建具有自定义形状的自定义 FAB。我尝试过将android: background与shapeAppearanceOverlay和shapeAppearance属性一起设置,但仍然没有运气。

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/edit_score_fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:shapeAppearance="@drawable/edit_score_fab"
            app:shapeAppearanceOverlay="@drawable/edit_score_fab"
            android:background="@drawable/edit_score_fab"/>
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"
    >
    <size
        android:height="5dp"
        android:width="10dp"/>
    <corners android:bottomLeftRadius="4dp" />
    <solid android:color="@color/color_primary"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

我的结果

在此输入图像描述

我想要的是

在此输入图像描述

Gab*_*tti 8

您可以将其ExtendedFloatingActionButton与自定义形状外观一起使用。
就像是:

<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
    app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlayExtended"
    ../>
Run Code Online (Sandbox Code Playgroud)

和:

  <style name="ShapeAppearanceOverlayExtended" parent="">
    <item name="cornerFamily">rounded</item>
    <item name="cornerSize">0dp</item>
    <item name="cornerSizeTopLeft">50%</item>
  </style>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述