Состояние и панель навигации отображаются при прокрутке представления Recycler в режиме погружения
Я реализую режим погружения с помощью этого кода:
activity.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
);
Но проблема в том, что, когда я прокручиваю вид рециркулятора, статус и панель навигации отображаются, когда вид элемента достигает вершины. Это сложно объяснить, но вот gif:
https://giphy.com/gifs/xT4uQiBlagrD9ljQqc
Обратите внимание, что при приближении вида элемента к верхней части отображается строка состояния (хотя отображается только темный фон). Обратите внимание также на панель навигации, поскольку нижняя часть представления элемента достигает границы панели навигации (обратите внимание на серый фон внизу).
Это происходит для каждого элемента в представлении переработчика, что действительно раздражает.
1 ответ
Вам не хватает некоторых вариантов пользовательского интерфейса, таких как иммерсивный стикер. Вот мои варианты рабочего интерфейса:
View decorView = getWindow().getDecorView();
int uiOptions = 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;
decorView.setSystemUiVisibility(uiOptions);