Как снова показать BottomNavigationBar при переходе назад - PullRequest
0 голосов
/ 25 февраля 2019

Я использую BottomNavigationBar с HideBottomViewOnScrollBehavior, чтобы скрыть его, когда пользователь прокручивает вниз, и отобразить его, когда пользователь прокручивает вверх.Это прекрасно работает.

Но как я могу снова показать BottomNavigationBar, когда он скрыт, потому что пользователь прокручивает вниз и перемещается назад по кнопке назад?

В данный момент мои BottomNavigationView остаются скрытыми.

Я использую библиотеку поддержки 28.0.0

1 Ответ

0 голосов
/ 12 марта 2019

Может быть, у кого-то есть лучшее решение для этого, но сейчас я придумал следующее:

В своей функции MainActivity моего приложения SingleActivity я добавил следующую функцию для имитации прокрутки:

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()
}
...