안드로이드

안드로이드 Version R 에서 몰입모드(Navigation bar, Status bar 가리기)

알통몬_ 2021. 2. 23. 09:25
반응형
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
window.setDecorFitsSystemWindows(false)
window.insetsController!!.hide(WindowInsets.Type.statusBars() and WindowInsets.Type.navigationBars())
window.insetsController!!.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
}

많은 글에서 Bold 되어있는 거처럼 and로 나와 있는데, and 가 아닌

아래처럼 or로 해야 제대로 동작합니다.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
window.setDecorFitsSystemWindows(false)
window.insetsController!!.hide(WindowInsets.Type.statusBars() or WindowInsets.Type.navigationBars())
window.insetsController!!.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
}

위 코드를 onWindowFocusChanged에 적용하시면 됩니다. Like 아래처럼

override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
if (hasFocus) {
hideSystemUI()
}
}

 

반응형