Android Studio – полноэкранный режим с полным макетом ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Android Studio – полноэкранный режим с полным макетом

Сообщение Anonymous »

Когда я использую EdgeToEdge.enable(this); в методе onCreate() моей активности, это позволяет моей активности занимать весь экран телефона, включая пространство статуса и панель навигации.
Однако, как только я переключаюсь в полноэкранный режим, макет сжимается, область строки состояния становится черной, и я больше не могу ничего отображать в этой области.
Я попробовал несколько решений чтобы решить эту проблему, в том числе:

Код: Выделить всё

getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE
);

Код: Выделить всё

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
getWindow().setDecorFitsSystemWindows(false);
WindowInsetsController controller = getWindow().getInsetsController();
if (controller != null) {
controller.hide(WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
controller.setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
}
}

Код: Выделить всё

getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN
);
Но ничего не работает. Во всех случаях в моем макете теряется верхняя часть экрана.

Это происходит на моем телефоне Pixel 8 Pro под управлением Android 15, но я знаю, что это не ошибка телефона, поскольку некоторые приложения, такие как WhatsApp и Google Фото может отображать фотографии в полноэкранном режиме без строки состояния. И это именно то, что я пытаюсь повторить.
У вас есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ull-layout

Вернуться в «Android»