Android 禁用HIDEBOTTOMVIEWONSCROLL行为

Android 禁用HIDEBOTTOMVIEWONSCROLL行为,android,scroll,android-coordinatorlayout,bottomnavigationview,Android,Scroll,Android Coordinatorlayout,Bottomnavigationview,我目前在协调器布局中有一个底部导航栏,我在其中添加了一个hidebottomviewonSrollBehavior。有些屏幕要求隐藏导航栏,我可以通过从BottomNavigationBar布局参数的Behavior对象调用slideUp/slideDown方法来实现这一点 问题是,即使我以编程方式隐藏它,您也可以通过再次向上滚动来显示它 我没有找到任何解决方案,我想会有类似于禁用行为并在某些屏幕上启用它的东西,但这不是一件事 有什么解决办法吗 谢谢 以下是禁用/启用滚动行为的方法: fun e

我目前在协调器布局中有一个底部导航栏,我在其中添加了一个hidebottomviewonSrollBehavior。有些屏幕要求隐藏导航栏,我可以通过从BottomNavigationBar布局参数的
Behavior
对象调用slideUp/slideDown方法来实现这一点

问题是,即使我以编程方式隐藏它,您也可以通过再次向上滚动来显示它

我没有找到任何解决方案,我想会有类似于禁用行为并在某些屏幕上启用它的东西,但这不是一件事

有什么解决办法吗


谢谢

以下是禁用/启用滚动行为的方法:

fun enableLayoutBehaviour() {
    val params = navView?.layoutParams as CoordinatorLayout.LayoutParams
    if (params.behavior == null) {
        params.behavior = HideBottomViewOnScrollBehavior<View>()
    }
    navView?.let {
        (params.behavior as HideBottomViewOnScrollBehavior).slideUp(it)
    }
}

fun disableLayoutBehaviour() {
    val params = navView?.layoutParams as CoordinatorLayout.LayoutParams
    navView?.let {
        (params.behavior as HideBottomViewOnScrollBehavior).slideDown(it)
    }
    params.behavior = null
}
fun enableLayoutBehavior(){
val params=navView?.layoutParams作为坐标Layout.layoutParams
if(params.behavior==null){
params.behavior=hidebottomviewonSrollBehavior()
}
导航视图?让我们{
(将行为参数设置为HideBottomViewOnScrollBehavior)
}
}
有趣的可禁用布局行为(){
val params=navView?.layoutParams作为坐标Layout.layoutParams
导航视图?让我们{
(将行为参数设置为HideBottomViewOnScrollBehavior)。向下滑动(it)
}
params.behavior=null
}

您也可以在专用选项卡上将NestedScrollView替换为常规ScrollView,以禁止底部滚动条。

也许可以将
位置:固定的
添加到滚动条?我的回答对您有帮助吗?如果有,请接受。@VasiliyT还没来得及试一试。不要担心,如果是这样的话,我会接受它。我成功地禁用了它,但是当我再次启用LayoutBehavior时,底部视图不会再次向上滑动。对此有什么建议吗?我刚刚创建了一个自定义行为来启用/禁用自身。无论如何谢谢你的帮助!