У меня есть проект, в котором я хотел бы скрыть 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
будет отображаться для некоторых миллисекунды)