当我的活动开始时,我使用以下调用隐藏系统导航栏。
WindowInsetsControllerCompat(window, window.decorView).hide(WindowInsetsCompat.Type.systemBars())
当用户从底部向上滑动以显示导航栏时,导航栏将永远保留在屏幕上。我想要的行为是,如果用户没有点击导航按钮,导航栏会在几秒钟后自动隐藏。
有没有办法让系统导航栏自己做到这一点,或者我需要创建自己的计时器来做到这一点?
注意:我正在三星 S22 上进行测试。
在您的 Activity 中调用此函数。
private fun hideSystemUI() {
WindowCompat.getInsetsController(window, window.decorView).systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
}