如何在导航上再次显示BottomNavigationBar

时间:2019-02-25 11:49:29

标签: android show-hide bottomnavigationview

我正在将BottomNavigationBarHideBottomViewOnScrollBehavior一起使用,以便在用户向下滚动时将其隐藏,而在用户向上滚动时将其显示。效果很好。

但是当BottomNavigationBar隐藏时,由于用户向下滚动并在“后退”按钮上导航,该如何再次显示?

此刻我的BottomNavigationView处于隐藏状态。

我正在使用支持库28.0.0

1 个答案:

答案 0 :(得分:0)

也许有人对此有更好的解决方案,但现在我提出了以下建议。

在我的SingleActivity应用程序的MainActivity中,添加了以下功能来模拟向上滚动:

fun ensureBottomNavigation() {
    if(bottomNavigationView.translationY != 0f) {
        val layoutParams = bottomNavigationView.layoutParams as CoordinatorLayout.LayoutParams
        val behavior = layoutParams.behavior as HideBottomViewOnScrollBehavior

        behavior.onNestedScroll(container, bottomNavigationView, host_fragment.view!!, 0, -1, 0, 0, 0)
    }
}

在我应用的每个片段中,我都在onResume()中调用此函数,如下所示:

override fun onResume() {
    super.onResume()

    // Ensure that bottom navigation view is visible onResume()
    (activity as MainActivity).ensureBottomNavigation()
}