Android: заставить приложение входить/выходить из полноэкранного режима по требованиюAndroid

Форум для тех, кто программирует под Android
Anonymous
Android: заставить приложение входить/выходить из полноэкранного режима по требованию

Сообщение Anonymous »

Я пытаюсь написать функцию, которая позволит приложению входить/выходить из полноэкранного режима в любой момент времени. Пока что я пробовал это:

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

    @ReactMethod
fun onFullScreen() {
UiThreadUtil.runOnUiThread(
object : Runnable {
@Override
override fun run() {
currentActivity?.window?.decorView?.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
or View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
or View.SYSTEM_UI_FLAG_IMMERSIVE)
}
}
)
}

@ReactMethod
fun offFullScreen() {
UiThreadUtil.runOnUiThread(object : Runnable {
@Override
override fun run() {
currentActivity?.window?.decorView?.systemUiVisibility = (
((View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN))
)
}
})
}
При этом я столкнулся с двумя проблемами: макет смещается при переходе в полноэкранный режим, а строка состояния остается черной, хотя фон моего приложения белый.
Кроме того, этот метод кажется устаревшим, но я не могу найти в документации другого рабочего метода.
Как мне заставить этот метод работать? Есть ли лучший или более простой способ добиться этого?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -on-demand

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