Android-режим погружения
Я хочу скрыть панель навигации. Онил покажет, если пользователь поглаживает свой палец снаружи внутрь. Я проверяю этот код:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus) {
getWindow().getDecorView().setSystemUiVisibility(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);
}
}
Действие начинается хорошо, и навигационные панели не появляются. У бути возникают следующие проблемы: 1) Если коснуться экрана где-либо, отображается панель навигации. 2) Когда это шоу, оно не показывается прозрачным. 3) Панель навигации никогда не прячется.
Как можно добавить эти три пункта? Чего мне не хватает
1 ответ
Добавьте липкий флаг View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
в setSystemUiVisibility
как описано в документации https://developer.android.com/training/system-ui/immersive.html
Таким образом, после скольжения от края экрана, навигационные панели будут отображаться в течение нескольких секунд, а затем снова скрываются.