隐藏导航栏  

您所在的位置:网站首页 索尼导航栏怎么设置 隐藏导航栏  

隐藏导航栏  

2023-12-03 08:19| 来源: 网络整理| 查看: 265

本节课介绍了如何隐藏 Android 4.0(API 级别 14)中引入的导航栏。

尽管本课着重介绍如何隐藏导航栏,但您也应将应用设计成同时隐藏状态栏,如隐藏状态栏中所述。 隐藏导航栏和状态栏(同时仍然保持它们可以随时访问)可让内容使用整个显示空间,从而提供更加身临其境的用户体验。

系统栏

图 1. 导航栏。

隐藏导航栏

您可以使用 SYSTEM_UI_FLAG_HIDE_NAVIGATION 标记隐藏导航栏。以下代码段用于隐藏导航栏和状态栏:

Kotlin window.decorView.apply { // Hide both the navigation bar and the status bar. // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as // a general rule, you should design your app to hide the status bar whenever you // hide the navigation bar. systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN } Java View decorView = getWindow().getDecorView(); // Hide both the navigation bar and the status bar. // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as // a general rule, you should design your app to hide the status bar whenever you // hide the navigation bar. int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions);

请注意以下几点:

使用这种方法,轻触屏幕上的任意位置都会使导航栏(和状态栏)重新出现并保持可见状态。用户互动会导致这些标记被清除。 标记被清除后,如果您希望再次隐藏这些栏,应用需要重置这些标记。请参阅响应界面可见性更改,探讨如何监听界面可见性变化,以便您的应用相应地做出响应。 在不同的位置设置界面标记会产生不同的效果。如果您在 Activity 的 onCreate() 方法中隐藏系统栏,那么当用户按“主屏幕”按钮时,系统栏会重新出现。当用户重新打开 Activity 后,系统不会调用 onCreate(),因此系统栏仍保持可见。如果您希望在用户进入和退出 Activity 时继续保留系统界面更改,请在 onResume() 或 onWindowFocusChanged() 中设置界面标记。 方法 setSystemUiVisibility() 生效的前提是您调用它时所在的视图必须可见。 离开该视图会导致系统清除使用 setSystemUiVisibility() 设置的标记。 让内容显示在导航栏后面

在 Android 4.1 及更高版本中,您可以将应用的内容设置为显示在导航栏的后面,这样内容就不会随着导航栏的隐藏和显示调整大小。可使用 SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 执行此操作。 您可能还需要使用 SYSTEM_UI_FLAG_LAYOUT_STABLE 来帮助您的应用保持稳定布局。

当您使用此方法时,您要负责确保应用界面的关键部分不会被系统栏覆盖。有关此主题的更多讨论内容,请参阅隐藏状态栏一课。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3