Android7.1 如何在app中隐藏导航栏(虚拟按键)并且禁止其滑出

在 Android 7.1 及更高版本中,隐藏导航栏(虚拟按键)并禁止其滑出通常需要使用以下方法:

  1. 隐藏导航栏

    • 使用全屏模式隐藏导航栏,使应用占据整个屏幕空间,不显示系统导航栏。可以通过以下代码实现:
      java
      View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; decorView.setSystemUiVisibility(uiOptions);
    • 这段代码可以在 onCreate() 方法中调用,确保应用启动时隐藏导航栏。
  2. 禁止导航栏滑出

    • 防止用户手势滑动导航栏显示,可以在 onWindowFocusChanged() 方法中设置全屏和隐藏导航栏的标志:
      java
      @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions); } }
  3. 注意事项

    • 使用全屏模式和隐藏导航栏可能会影响用户体验,因为导航栏对用户导航和系统交互很重要。在设计应用时,考虑用户的操作习惯和使用场景,避免过度控制用户界面。

通过以上方法,你可以在 Android 7.1 上实现隐藏导航栏并禁止其滑出的效果,提升应用的沉浸式体验。