как использовать навигационный компонент navhostfragment при изменении полноэкранного режима / выше нижней навигации - PullRequest
3 голосов
/ 28 апреля 2019

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

я попробовал следующее:

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);
                }
            }
        });

нижняя панель мигает при переключении между полноэкранными фрагментами и обычными фрагментами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...