我试图在应用程序上向下滚动时使应用程序上的工具栏消失。我目前的设置似乎无法弄清楚。我想知道是否可以通过现在的工具栏设置来完成此任务,还是需要重做工具栏?

我尝试添加

app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"

因为有人告诉我将其放入,但似乎不起作用。

我的工具栏:

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

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/global_color_primary"
            android:elevation="4dp"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        <FrameLayout
            android:id="@+id/fragment_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />


    </LinearLayout>
分析解答

工具栏必须是AppBarLayout的子级,才能在滚动时隐藏。我相信AppBarLayout也必须包含在CoordinatorLayout中。

不久前这个问题的答案有一个很好的工作示例:CoordinatorLayout不会隐藏操作栏