如何改变扩展浮动操作按钮的形状?

10
我尝试将动作按钮的形状从默认形状改为矩形。这是我的 xml 代码:
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:cornerRadius="90dp"
        android:text="@string/create_player_text"
        android:fontFamily="@font/proximanova_semibold"
        app:layout_constraintHorizontal_bias="0.99"
        app:layout_constraintVertical_bias="0.01"/>

enter image description here


为什么不用简单的MaterialButton呢? - Gabriele Mariotti
@GabrieleMariotti 的 materialButton 没有隐藏和显示方法,当我需要将其添加到滚动视图中时。 - Kyo Huu
3个回答

21

如果要更改 ExtendedFloatingActionButton 的形状,可以在布局中使用 shapeAppearanceOverlay 属性:

    <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
        app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlayExtended"
        ../>

使用:

  <style name="ShapeAppearanceOverlayExtended" parent="">
    <item name="cornerFamily">rounded</item>
    <item name="cornerSize">0dp</item>
  </style>

如果您想要圆角半径,只需更改<item name="cornerSize">0dp</item>中的值。

enter image description here


0

我认为Material Button非常适合您的需求,而且Material Button具有带有小半径的矩形形状。您应该尝试使用它,而不是使用Extended Floating Action Button。

请查看官方文档以了解如何使用它及指南

Material Button


0

创建一个像这样的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape
            android:shape="rectangle">
            <corners android:radius="@dimen/_100sdp"/>
        </shape>
    </item>
</layer-list>

并在您的扩展 FAB 中使用它 - 与 shapeAppearanceOverlay 一起使用

<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:shapeAppearanceOverlay="@drawable/bg_circle_black"
            android:text="Sign in to setup follow page"
            android:textAlignment="center"
            app:layout_anchor="@id/scrollView"
            app:layout_anchorGravity="bottom|center|center_horizontal" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接