在弃用setSystemUiVisibility及其标志之后,沉浸式模式的新实现不包括或使用状态栏,它只是将其设置为黑色但不使用它。这是我的意思的截图: 标题栏上方的黑色区域!这就是我所说的。
这是我用于沉浸式模式的新代码:
fun fullScreen(view: View, window: Window) {
WindowCompat.setDecorFitsSystemWindows(window, false)
WindowInsetsControllerCompat(window, view).let { controller ->
controller.hide(WindowInsetsCompat.Type.statusBars() or WindowInsetsCompat.Type.navigationBars())
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE.also { controller.systemBarsBehavior = it }
}
}
然后我在任何需要的地方使用它,例如:
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
if (hasFocus) UtilityMethods(this).fullScreen(form.root, window)
}