1

我正在使用 CoordinatorLayout 将浮动操作按钮保持在 Snackbar 上方,效果很好。...但仅适用于第一个 Snackbar。创建第二个时,当第一个仍然存在时,FAB 会滑到它下面。

我在 RecyclerView 中使用它,我可以在其中删除项目。当一个项目被删除时,会出现一个“撤消”Snackbar。因此,当您一个接一个地删除一些项目时,可见的 Snackbar 会被一个新的替换(这会导致 FAB 行为)

您知道将 FAB 保持在新 Snackbars 之上的解决方案吗?

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:fab="http://schemas.android.com/tools"
    android:id="@+id/coordinator_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:backgroundTint="@color/background_grey"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <include
            android:id="@+id/toolbar"
            layout="@layout/toolbar" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="vertical" />

    </LinearLayout>

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            android:layout_marginBottom="16dp"
            android:layout_marginEnd="16dp"
            android:layout_marginRight="16dp"
            android:elevation="6dp"
            android:src="@drawable/ic_add_white_36dp"
            app:borderWidth="0dp"
            app:fabSize="normal"
            app:pressedTranslationZ="10dp"
            app:rippleColor="@color/abc_primary_text_material_dark" />

</android.support.design.widget.CoordinatorLayout>

这是我删除项目后的样子

在此处输入图像描述

...然后在我删除另一个项目之后

在此处输入图像描述

4

1 回答 1

0

这总是会发生,因为snackbar是视图上方的一层。在这种情况下不应该使用堆叠的snackbar 请参阅google gidelines .. https://www.google.co.in/design/spec/components/snackbars- toasts.html#snackbars-toasts-usage

相反,您的实现应该类似于 https://github.com/jenzz/Android-UndoBar

为改变你的设计而道歉

于 2015-10-12T11:25:16.813 回答