首页 > 解决方案 > 是否可以有两个以上的浮动操作按钮?

问题描述

我正在努力解决应该非常简单的事情,现在我不知道这是否是 FAB 元素的一些未记录的限制。我在一个水平的屏幕上有三个相同的 FAB LinearLayout,但第三个没有显示它的图标。

在此处输入图像描述

这是代码:

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_centerInParent="true">

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/gallery_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/dialog_btn_spacing"
            android:layout_marginEnd="@dimen/dialog_btn_spacing"
            android:src="@drawable/ic_photo_camera"
            app:backgroundTint="#FF5252"
            app:fabCustomSize="80dp" />

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/camera_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/dialog_btn_spacing"
            android:layout_marginEnd="@dimen/dialog_btn_spacing"
            android:src="@drawable/ic_photo_camera"
            app:backgroundTint="#4CAF50"
            app:fabCustomSize="80dp" />

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/text_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/dialog_btn_spacing"
            android:layout_marginEnd="@dimen/dialog_btn_spacing"
            android:src="@drawable/ic_photo_camera"
            app:backgroundTint="#21BFF3"
            app:fabCustomSize="80dp" />

    </LinearLayout>

更重要的是,如果我在 中添加一个额外的LinearLayout,结果是完全一样的,第四个根本没有出现。显示的 FAB 数量是否有某种限制?我没有以任何方式通过代码操作 FAB,只是为每个 FAB 添加了一个点击侦听器。这些图标是直接从材质图标库导入的矢量可绘制对象(为了这个示例,我为它们三个放置了相同的一个)。

我不确定具体的问题可能是什么,但这让我很头疼......

标签: androidandroid-layoutfloating-action-button

解决方案


也尝试将widthand设置height为 80dp

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_centerInParent="true">

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/gallery_button"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_marginStart="@dimen/dialog_btn_spacing"
        android:layout_marginEnd="@dimen/dialog_btn_spacing"
        android:src="@drawable/ic_photo_camera"
        app:backgroundTint="#FF5252"
        app:fabCustomSize="80dp" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/camera_button"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_marginStart="@dimen/dialog_btn_spacing"
        android:layout_marginEnd="@dimen/dialog_btn_spacing"
        android:src="@drawable/ic_photo_camera"
        app:backgroundTint="#4CAF50"
        app:fabCustomSize="80dp" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/text_button"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_marginStart="@dimen/dialog_btn_spacing"
        android:layout_marginEnd="@dimen/dialog_btn_spacing"
        android:src="@drawable/ic_photo_camera"
        app:backgroundTint="#21BFF3"
        app:fabCustomSize="80dp" />

</LinearLayout>

推荐阅读