Как не показывать панель навигации при отображении дигалога - PullRequest
0 голосов
/ 29 мая 2020

У меня есть проект, в котором я хотел бы скрыть navigationbar, предоставленный Android. Моя первая попытка состояла в том, чтобы вызвать hideUIElements() из onCreate() и onResume(), и он работает:

  private void hideNavigationBar() {
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN |
            View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
            View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
            View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
}

Тем не менее, он также скрывает мой titlebar, поэтому я в основном модифицирую его, как показывает следующий метод:

  private void hideNavigationBar() {
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN |
            View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
            View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY );
}

И пока все хорошо. Метод показывает мой titlebar, но не navigationbar. Отлично. Проблема возникает, когда я нажимаю кнопку, которая в основном открывает dialog. В этом случае navigaitionbar отображается и остается в пользовательском интерфейсе. Как я мог этого избежать?

Я хотел бы найти решение, позволяющее избежать вызова одного и того же метода после открытия dialog, которое могло бы работать, но пользовательский интерфейс не будет c (navigationbar будет отображаться для некоторых миллисекунды)

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