Я пытаюсь создать настоящий полноэкранный опыт в моем приложении Android, используя JetPack Compose. Цель состоит в том, чтобы удалить строку состояния, расширить мой контент в область за ним и заставить мое приложение плавно отображать от края на краю без какого -либо черного пространства вокруг панели состояния или навигационной панели. < /P>
См. Черное расстояние здесь, где находится моя камера. /> < /p>
Вот моя активность < /p>
class TPMActivity : ComponentActivity() {
private val settingsRepository: SettingsRepository by lazy {
SettingsRepository(applicationContext)
}
private val settingsViewModel: SettingsViewModel by lazy {
SettingsViewModel(settingsRepository)
}
@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
setContent {
if (settings.showSystemUi) {
showSystemUI(this)
} else {
hideSystemUI(this)
}
Scaffold(
content = {
MyContent()
}
)
}
}
}
< /code>
И вот мои функции Utils < /p>
fun hideSystemUI(activity: Activity) {
WindowCompat.setDecorFitsSystemWindows(activity.window, false)
WindowInsetsControllerCompat(activity.window, activity.window.decorView).let { controller ->
controller.hide(WindowInsetsCompat.Type.systemBars())
controller.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
}
}
fun showSystemUI(activity: Activity) {
WindowCompat.setDecorFitsSystemWindows(activity.window, true)
WindowInsetsControllerCompat(activity.window, activity.window.decorView).let { controller ->
controller.hide(WindowInsetsCompat.Type.statusBars())
controller.show(WindowInsetsCompat.Type.navigationBars())
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... -any-space
Как достичь истинного полноэкранного края до края в JetPack Compose без места для строки состояния? ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение