Строка состояния остается видимой в режиме погружения - PullRequest
1 голос
/ 30 сентября 2019

Я работаю над сборкой для Android игры, написанной на Haxe. Раньше он работал некоторое время назад, но теперь строка состояния остается видимой после входа в режим погружения. Как вы видите на скриншоте, кнопка в правом верхнем углу заблокирована, при попытке прикоснуться к ней отображается меню Android. Это может быть связано с обновлением моего телефона до Android Pie.

Снимок экрана Android с отображением строки состояния, блокирующей игровые кнопки

Я сейчас использую следующие флаги:

decorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_IMMERSIVE
                | 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);

Я перепробовал много комбинаций, безуспех. Строка состояния остается видимой. Раньше это было не видно и появлялось только тогда, когда пользователь спрыгивал сверху вниз. Это поведение, которое я люблю восстанавливать.

Ответы [ 2 ]

1 голос
/ 01 октября 2019

Это было вызвано внутренней проблемой Lime. Помимо основной обработки извести setSystemUiVisibility, известь использует SDL , которая также обрабатывает setSystemUiVisibility. Но здесь он установлен не на весь экран, добавляя некоторые дополнительные флаги:

window.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

Если эти флаги переключаются обратно, строка состояния исчезает, как и предполагалось. Я надеюсь, что это скоро будет исправлено в самой извести.

0 голосов
/ 30 сентября 2019

Полагаю, вам нужно добавить некоторые изменения в GameActivity, например: https://github.com/charmdev/nme/blob/charmdev-ndk20/templates/android/java/org/haxe/nme/GameActivity.java#L156-L169

...