Программно развернуть / свернуть нижнюю навигационную панель в CoordinatorLayout - PullRequest
0 голосов
/ 16 октября 2019

У меня есть CoordinatorLayout, который содержит BottomNavigationView и AppBarLayout с ToolBar внутри. (BottomNavigationView не находится внутри AppBarLayout, поскольку это нарушает положение BottomNavigationView).

Мне нужно показать / скрыть AppBarLayout и BottomNavigationView программно, когдапроисходят определенные события (например, на фрагменте onResume), и до сих пор мне удалось установить appBarLayout.setExpanded(true, true), чтобы показать / скрыть панель приложений, но я не могу понять, как сделать то же самое для BottomNavigationView, поскольку у него нет никакого способа показать / скрыть себя.

Поведение моего BottomNavigationView - app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior", установленное в макете xml. Как я могу получить ссылку на это поведение в моем коде для управления его развернутым / свернутым состоянием?

1 Ответ

1 голос
/ 16 октября 2019

Вы можете скрыть bottomNavigation представление из вашей деятельности контейнера фрагмента. Из-за вас bottomNavigation ID. и вы можете получить доступ к этому идентификатору из вашего fragment container activity, а также вы можете получить текущий экземпляр фрагмента из вашего fragment container activity. Итак, из вашего примера, если вы хотите скрыть навигацию снизу от определенного события fragment onResume(), вы можете проверить, какой фрагмент в данный момент виден из вашей активности контейнера фрагмента, и вызвать скрыть или показать навигацию снизу.

Помните для скрытия или показа нижней навигации используйте анимацию.

...