我正在尝试使我的应用程序中的工具栏隐藏并显示基于RecyclerView的滚动.这个gif显示了我想要实现的目标.
我正在关注this tutorial而没有得到我正在寻找的结果.这是我的活动的布局:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/coordinatorLayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:fitsSystemWindows="true"> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer" android:layout_width="match_parent" android:layout_height="match_parent" android:elevation="7dp"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <include layout="@layout/toolbar" /> </android.support.design.widget.AppBarLayout> <FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFFFF" /> <android.support.design.widget.NavigationView android:id="@+id/navigation_view" android:layout_height="match_parent" android:layout_width="match_parent" android:layout_gravity="start" app:headerLayout="@layout/header" app:menu="@menu/drawer" /> </android.support.design.widget.CoordinatorLayout>
And here’s the
Toolbar
layout:
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:theme="@style/ThemeOverlay.AppCompat.Dark" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="@color/ColorPrimary" app:layout_scrollFlags="scroll|enterAlways" />
当我运行此代码时,工具栏完全消失.怎么了?
解决方法
如果您的RecyclerView位于片段内,请尝试将以下代码放在片段布局的根视图中:app:layout_behavior =“@ string / appbar_scrolling_view_behavior”.包含它的视图必须是CoordinatorLayout的直接子项