Я использую мультифрагменты одного действия с компонентом навигации. Как скрыть нижнюю панель навигации для некоторых фрагментов?
я попробовал следующее:
1 - управление видимостью нижней навигационной панели с помощью привязки данных.
2 - переключение видимости нижней навигации перед открытием фрагмента и на backstack (глючит)
3- создание 2 фрагмента хоста 1 полный экран 1, связанный нижней навигацией
4- изготовление 2 навграфа ..
activity_main.xml:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigation"
android:visibility="@{viewModel.uiUtils.shouldShow ? View.VISIBLE:View.GONE}"/>
mainactivity.java:
private void observeShouldShow() {
mainViewModel.uiUtils.getShouldShow().observe(this, new Observer<Boolean>() {
@Override
public void onChanged(Boolean aBoolean) {
ViewGroup.LayoutParams layoutParams = binding.bottomNavigation.getLayoutParams();
if (mainViewModel.getUiUtils().getShouldShow().getValue()) {
binding.bottomNavigation.setVisibility(View.VISIBLE);
layoutParams.height = 170;
binding.bottomNavigation.setLayoutParams(layoutParams);
} else {
layoutParams.height = 0;
binding.bottomNavigation.setLayoutParams(layoutParams);
binding.bottomNavigation.setVisibility(View.INVISIBLE);
}
}
});
нижняя панель мигает при переключении между полноэкранными фрагментами и обычными фрагментами