如何让Android导航栏在一段时间后自动隐藏?

问题描述 投票:0回答:1

当我的活动开始时,我使用以下调用隐藏系统导航栏。

WindowInsetsControllerCompat(window, window.decorView).hide(WindowInsetsCompat.Type.systemBars())

当用户从底部向上滑动以显示导航栏时,导航栏将永远保留在屏幕上。我想要的行为是,如果用户没有点击导航按钮,导航栏会在几秒钟后自动隐藏。

有没有办法让系统导航栏自己做到这一点,或者我需要创建自己的计时器来做到这一点?

注意:我正在三星 S22 上进行测试。

android kotlin android-activity android-view android-navigation-bar
1个回答
0
投票

在您的 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
}
© www.soinside.com 2019 - 2024. All rights reserved.