首页 > 解决方案 > 仅在特定片段中滚动时,CoordinatorLayout 隐藏工具栏

问题描述

Activity在主屏幕中使用具有多个片段的单一方法,并且我想在仅在主屏幕中滚动时隐藏工具栏,因为它是单个活动,并且在所有屏幕中滚动时隐藏了RecycleView一个顶层。CoordinatorLayoutToolbar

如何在某些屏幕中启用“滚动时隐藏工具栏”并在单个活动中为其他屏幕禁用它?

标签: androidandroid-coordinatorlayout

解决方案


您必须跟踪您的活动中哪个片段(屏幕)处于活动状态,并使用这些功能来隐藏或显示。

fun enableLayoutBehaviour() {
    val layoutParams: CoordinatorLayout.LayoutParams = coordinatorLayout.layoutParams 
    layoutParams.behavior = AppBarLayout.ScrollingViewBehavior()
}

fun disableLayoutBehaviour() {
    val layoutParams: CoordinatorLayout.LayoutParams = coordinatorLayout.layoutParams
    layoutParams.behavior = null
}

推荐阅读