我拿不到钥匙 Toolbar
以及 TabLayout
当我向上滚动时隐藏。我有3个不同的xml文件:1) Toolbar
, 2) TabLayoutFragment
(在这里我有 TabLayout
以及 ViewPager
,我包括 toolbar
这里,和3) HomeFragment
(包含 RecyclerView
). 我需要你的帮助 Toolbar
当我向上滚动时隐藏,我在许多其他帖子中看到大多数人使用 CoordinatorLayout
而不是 Relative Layout
或者 Linear Layout
,然后他们必须添加 app:layout_scrollFlags="scroll|enterAlways"
我已经做了,但我还是不能得到 Toolbar
滚动时隐藏 RecyclerView
向上。
我还把这个添加到 RecyclerView
,但还是什么都没有。。。 app:layout_behavior="@string/appbar_scrolling_view_behavior"
有人能指出这里少了什么吗?
工具栏
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_events"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/bar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar_home_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
app:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetRight="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:fontFamily="@font/scriptbl"
android:text="Events"
android:textColor="@color/colorBlack"
android:textSize="60sp" />
<ImageView
android:id="@+id/search"
style="@style/SelectableIconThemeBackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="10dp"
android:contentDescription="@string/camera"
android:padding="10dp"
android:src="@drawable/icon_search" />
<ImageView
android:id="@+id/filter"
style="@style/SelectableIconThemeBackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/search"
android:contentDescription="@string/camera"
android:padding="10dp"
android:src="@drawable/icon10_sort" />
<ImageView
android:id="@+id/options"
style="@style/SelectableIconThemeBackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginStart="10dp"
android:contentDescription="@string/options"
android:padding="10dp"
android:src="@drawable/icon_short_text" />
</RelativeLayout>
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
工作台碎片
<LinearLayout 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:id="@+id/fragment_home_tab_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:tag="Home"
tools:context=".Fragment.TabLayoutFragment">
<include
android:id="@+id/toolbar_events"
layout="@layout/toolbar_events" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="#fff"
app:layout_scrollFlags="scroll|enterAlways"
app:tabIndicatorColor="#000"
app:tabIndicatorFullWidth="false"
app:tabRippleColor="@android:color/transparent"
app:tabSelectedTextColor="@color/colorBlack"
app:tabTextColor="@color/colorBlack" />
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</LinearLayout>
家庭碎片
<RelativeLayout 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:id="@+id/fragment_home"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical"
android:tag="fragment_home"
tools:context=".Fragment.HomeFragment">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar">
<TextView
android:id="@+id/welcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"
android:gravity="center"
android:text="Welcome to Events!"
android:textColor="#d9d9d9"
android:textSize="36sp"
android:visibility="gone" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="5dp"
android:gravity="center_horizontal"
android:padding="8dp"
app:drawableStartCompat="@drawable/icon_loc" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/location"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view_following"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</RelativeLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</RelativeLayout>
2条答案
按热度按时间xvw2m8pv1#
您可以通过添加
addOnScrollListener
方法。上
RecyclerView.SCROLL_STATE_DRAGGING
方法隐藏工具栏和tablayout等RecyclerView.SCROLL_STATE_IDLE
方法,如果要再次显示它们,可以再次显示。您可以这样尝试:
或者你可以使用回收者视图
addOnScrollListener
方法:参考:addonscrolllistener
此外,您还可以在那里添加一些动画来显示和隐藏工具栏和选项卡布局。
os8fio9y2#
将工具栏和tablayout放置在scrollview组中以获取滚动部分。