android– 当我使用协调器布局滚动我的recyclerview时,如何提供自动隐藏显示工具栏?

android– 当我使用协调器布局滚动我的recyclerview时,如何提供自动隐藏显示工具栏?,第1张

概述这是我的布局文件<android.support.v4.widget.DrawerLayoutxmlns:android="http://schemas.android.com/apkes/android"xmlns:tools="http://schemas.android.comools"xmlns:app="http://schemas.android.com/apkes-auto"an

这是我的布局文件

<androID.support.v4.Widget.DrawerLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:tools="http://schemas.androID.com/tools"    xmlns:app="http://schemas.androID.com/apk/res-auto"    androID:ID="@+ID/drawerLayout"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    tools:context="com.moskart.mosfake.activity.MainActivity">   <androID.support.design.Widget.CoordinatorLayout       androID:ID="@+ID/coordinatorLayout"       androID:layout_wIDth="match_parent"       androID:layout_height="match_parent">       <androID.support.design.Widget.AppbarLayout           androID:layout_wIDth="match_parent"           androID:layout_height="?attr/actionbarSize"           androID:theme="@style/themeOverlay.AppCompat.Dark.Actionbar">           <androID.support.design.Widget.CollapsingToolbarLayout               androID:ID="@+ID/collapsing_toolbar"               androID:layout_wIDth="match_parent"               androID:layout_height="match_parent"               androID:minHeight="?attr/actionbarSize"               androID:fitsSystemwindows="true"               app:contentScrim="?attr/colorPrimary"               app:layout_scrollFlags="scroll|enteralways"               >               <androID.support.v7.Widget.Toolbar xmlns:androID="http://schemas.androID.com/apk/res/androID"                   xmlns:local="http://schemas.androID.com/apk/res-auto"                   androID:ID="@+ID/toolbar"                   androID:layout_wIDth="match_parent"                   androID:layout_height="?attr/actionbarSize"                   androID:minHeight="?attr/actionbarSize"                   androID:background="?attr/colorPrimary"                   local:theme="@style/themeOverlay.AppCompat.Dark.Actionbar"                   local:popuptheme="@style/themeOverlay.AppCompat.light"                   app:layout_collapseMode="pin"                   />           </androID.support.design.Widget.CollapsingToolbarLayout>       </androID.support.design.Widget.AppbarLayout>       <FrameLayout           androID:layout_wIDth="match_parent"           androID:layout_height="match_parent"           app:layout_behavior="@string/appbar_scrolling_vIEw_behavior"           >           <FrameLayout               androID:ID="@+ID/fragment_placeholder"               androID:layout_wIDth="match_parent"               androID:layout_height="match_parent">           </FrameLayout>           <VIEw               androID:layout_wIDth="match_parent"               androID:layout_height="5dp"               androID:background="@drawable/toolbar_dropshadow" />       </FrameLayout>   </androID.support.design.Widget.CoordinatorLayout>   <androID.support.design.Widget.NavigationVIEw       androID:ID="@+ID/navigation"       androID:layout_wIDth="wrap_content"       androID:layout_height="match_parent"       androID:layout_gravity="start"       app:headerLayout="@layout/navigation_drawer_header"       app:itemIconTint="@color/navItemIconTintcolor"       app:itemTextcolor="@color/navItemTextcolor"       app:menu="@menu/menu_navigation_drawer" /></androID.support.v4.Widget.DrawerLayout>

我为我的CollapsingToolbarLayout设置app:layout_scrollFlags以滚动| enteralways并期望工具栏在gapps(例如Google Play或Google Magazine)中的工作方式与此示例中的自动隐藏/显示类似:

Google Magazine

但我只有滚动的工具栏不会自动缩回,但只有当用户自己完全滚动它时.见样本:my app

这是我的片段与recyclervIEw,我用fragment_placeholder替换

<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical"    tools:context="com.moskart.mosfake.fragment.categorySelectionFragment"    >    <androID.support.v7.Widget.RecyclerVIEw        androID:ID="@+ID/recycler_vIEw"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:paddingleft="@dimen/card_horizontal_margin"        androID:paddingRight="@dimen/card_horizontal_margin"        /></linearLayout>

谢谢你的建议!

解决方法:

您应该测量AppbarLayout的底部和顶部偏移是否偏移超过AppbarLayout高度的一半并且用户已释放滚动.满足此条件时,只需启动工具栏的translationY动画或AppbarLayout的偏移动画.

这可以通过自定义CoordinatorLayout.Behavor或继承现有的AppbarLayout.BehavIoUr并调整它来实现.

总结

以上是内存溢出为你收集整理的android – 当我使用协调器布局滚动我的recyclerview时,如何提供自动隐藏/显示工具栏?全部内容,希望文章能够帮你解决android – 当我使用协调器布局滚动我的recyclerview时,如何提供自动隐藏/显示工具栏?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存