📜  如何在 Android 中隐藏导航栏?

📅  最后修改于: 2022-05-13 01:54:25.734000             🧑  作者: Mango

如何在 Android 中隐藏导航栏?

Android 中的NavigationBar是一行,由位于应用程序底部的后退按钮、主页按钮和最近按钮组成。大多数 Android 5.0 Lollipop 及更高版本的设备没有物理导航按钮,因此在整个屏幕生命周期中都作为屏幕上的按钮出现。

想要一个更快节奏和更具竞争力的环境来学习 Android 的基础知识吗?
单击此处前往由我们的专家精心策划的指南,旨在让您立即做好行业准备!

但是,对于涉及游戏和视频的应用程序,这些按钮变得不必要。此外,意外触摸这些按钮可能会导致数据丢失,尤其是在服务器上实时运行的应用程序上。因此,在本文中,我们将向您展示如何在 Android 上隐藏 NavigationBar。

分步实施

第 1 步:在 Android Studio 中创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在Kotlin中演示了该应用程序,因此请确保在创建新项目时选择 Kotlin 作为主要语言。

步骤 2:使用MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

Kotlin
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import androidx.annotation.RequiresApi
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat
  
class MainActivity : AppCompatActivity() {
  
    @RequiresApi(Build.VERSION_CODES.R)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // A function to hide NavigationBar
        hideSystemUI()
    }
  
    // Function to hide NavigationBar
    @RequiresApi(Build.VERSION_CODES.R)
    private fun hideSystemUI() {
        WindowCompat.setDecorFitsSystemWindows(window, false)
        WindowInsetsControllerCompat(window,
            window.decorView.findViewById(android.R.id.content)).let { controller ->
            controller.hide(WindowInsetsCompat.Type.systemBars())
              
            // When the screen is swiped up at the bottom 
            // of the application, the navigationBar shall
            // appear for some time
            controller.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
        }
    }
}


输出:

您可以看到 NavigationBar 现在已隐藏。但是,我们对其进行了编程,当在屏幕底部向上滑动时,NavigationBar 将出现几秒钟。

隐藏导航栏前后