У меня есть AppcompatActivity (appcompat-v7: 25.3.1), который находится в полноэкранном режиме с использованием приведенного ниже кода. Но проблема в том, что когда в полноэкранном режиме отображается просмотр навигации, в Android 6.0 сверху и снизу отображаются черные оверлейные полосы, равные размерам строки состояния и панели навигации. Просмотр навигации после применения указанных ниже флагов (пока не могу вставлять изображения :( )
private void hideAndroidNavigation() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
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_STICKY);
}
Однако в Android 4.4 черный оверлей просто превращается в белый , как вы можете видеть на этом изображении .
Мне удалось удалить накладку для строки состояния, используя следующий код:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
Но мне не повезло с удалением наложения панели навигации. Я попробовал это решение https://stackoverflow.com/a/38008965/4428159, предлагая удалить strong> View.SYSTEM_UI_FLAG_LAYOUT_STABLE, но результат был таким же
Есть ли другой способ удалить эти наложения или решение, специфичное для библиотек appcompat?