Android: как заставить навигационную панель быть видимой на Samsung Galaxy S8

Можно ли заставить приложение всегда отображаться на панели навигации в приложении Android? На Samsung Galaxy S8 пользователь может скрыть панель навигации во время "выполнения" - что вызывает некоторые неожиданные поведения в приложении (если вам интересно; я попытался добавить setOnSystemUiVisibilityChangeListener и перерисовать, сделать недействительными, requestLayout и forceLayout в представлении без удачи. Перезапуск действия неприменим, так как приложение является приложением с одним действием. Я также изучил WindowInsets, и там тоже не повезло.).

Поэтому я просто хочу избежать этой проблемы, не позволяя пользователю удалить панель навигации. Все ресурсы, которые я могу найти в Интернете, предназначены для сокрытия навигационной панели. Кто-нибудь, как какие-либо предложения о том, как сделать это остаться?

2 ответа

Я не очень уверен в Samsung S8, но я работал на Samsung S7. Я использовал режим откидывания назад setSystemUiVisibility() и передал эти два флага

1.SYSTEM_UI_FLAG_FULLSCREEN
2.SYSTEM_UI_FLAG_HIDE_NAVIGATION
Также для включения режима погружения я использовал SYSTEM_UI_FLAG_IMMERSIVE в соединении.

На него ссылались из видимости и погружения.

Поправь меня, если я ошибаюсь или не понял вопроса.

Это сработало для меня:

        getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_IMMERSIVE
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
Другие вопросы по тегам