滚动感知FAB隐藏,但随后不再出现

Yon*_*uni 9 android android-layout

我用a recyclerview和a 做了一个Android应用程序floating action button.向下滚动时,按钮应隐藏,向上滚动时应再次显示.我已经使用本教程来实现该行为.

结果是,当我向下滚动时FAB隐藏,但是当向上滚动时它不会再次出现:(类ScrollAwareFABBehavior与教程相同.但我使用的是嵌套布局.

这是我的布局(在recyclerviewin LinearLayoutcontent_main):

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="org.myorganisation.mypackage.someActivity">

    <include layout="@layout/toolbar" />

    <include layout="@layout/content_main" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/add_fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@drawable/plus"
        app:layout_behavior="org.myorganisation.mypackage.someActivity.helpers.ScrollAwareFABBehavior" />

    <LinearLayout
        android:id="@+id/insert_alert"
        android:layout_width="wrap_content"
        android:layout_height="50sp"
        android:layout_margin="@dimen/fab_margin"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:paddingEnd="70sp"
        android:visibility="gone"
        app:layout_anchor="@id/add_fab"
        app:layout_anchorGravity="bottom|left">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:text="@string/initial_alert"
            android:textColor="@color/colorPrimaryDark"
            android:textStyle="bold|italic" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_keyboard_arrow_right_black_24sp"
            android:tint="@color/colorPrimary" />
    </LinearLayout>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

ian*_*ake 5

从支持库的25.1.0版开始,根据此bug,隐藏视图不再滚动事件。

评论5所述

这按预期工作,您的依赖关系链是错误的方式。您的RecyclerView(行为)应该触发FAB可见性更改。