Работа с клиентским приложением, использующим режим immersive, чтобы скрыть панель навигации и строку состояния для каждого действия, используя следующий код:
int currentApiVersion = android.os.Build.VERSION.SDK_INT;
final int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
// This work only for android 4.4+
if (currentApiVersion >= 19) {
getWindow().getDecorView().setSystemUiVisibility(flags);
// Code below is for case when you press Volume up or Volume down.
// Without this after pressing valume buttons navigation bar will
// show up and don't hide
final View decorView = getWindow().getDecorView();
decorView
.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
decorView.setSystemUiVisibility(flags);
}
}
});
}
Единственная проблема заключается в том, что они хотели бы, чтобы приложение оставалось в режиме immersive и не отображало панель навигации, даже когда мягкая клавиатура показывает, чтобы ввести в EditText. Может ли кто-нибудь думать о способе всегда иметь кнопки навигации (назад/скрыть клавиатуру, дом и т.д.), Всегда скрываться даже при использовании клавиатуры?