0

我正在编写一个全屏应用程序,我需要隐藏导航栏,

我正在使用View.SYSTEM_UI_FLAG_HIDE_NAVIGATION但是一旦用户进行交互,该栏就会重新出现,

我发现了一些其他问题,但没有一个答案......所以有人成功了吗?先感谢您

4

5 回答 5

1

在清单文件中的活动下添加以下行,它将使您的活动全屏

 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
于 2013-09-26T13:55:47.370 回答
0

您不能完全隐藏 NavigationBar,它总是会在用户交互后重新出现。

于 2013-09-26T13:50:00.467 回答
0

如果您发布您已经尝试过的内容会很好。

我用它来暂时隐藏我的操作栏:

    getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
    getActionBar().hide();

代码在onCreate开头

于 2013-09-26T13:55:42.153 回答
0

仅使用 View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,第一次触摸事件被系统消耗,导航栏将重新出现。

如果您正在为 KitKat(4.4.2) 之后的代码编写代码,则可以将此代码添加到您的 onResume() 方法中:

View decorView = getWindow().getDecorView();
    decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                                  | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                                  | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                                  | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                                  | View.SYSTEM_UI_FLAG_FULLSCREEN
                                  | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

阅读有关沉浸式模式的更多信息:https ://developer.android.com/training/system-ui/immersive.html

于 2014-02-04T10:22:44.750 回答
0

这对我有用。

http://www.androiddocs.com/training/system-ui/immersive.html

从帖子:

标志 SYSTEM_UI_FLAG_IMMERSIVE 和 SYSTEM_UI_FLAG_IMMERSIVE_STICKY 都提供身临其境的体验,但在上述行为上有所不同。以下是您何时使用一个标志与另一个标志的示例:

如果您正在构建书籍阅读器、新闻阅读器或杂志,请将 IMMERSIVE 标志与 SYSTEM_UI_FLAG_FULLSCREEN 和 SYSTEM_UI_FLAG_HIDE_NAVIGATION 结合使用。因为用户可能希望稍微频繁地访问操作栏和其他 UI 控件,但又不想在翻阅内容时被任何 UI 元素打扰,所以 IMMERSIVE 是这个用例的一个不错的选择。

如果您正在构建一个真正身临其境的应用程序,您希望用户在屏幕边缘附近进行交互,并且您不希望他们需要频繁访问系统 UI,请将 IMMERSIVE_STICKY 标志与 SYSTEM_UI_FLAG_FULLSCREEN 和 SYSTEM_UI_FLAG_HIDE_NAVIGATION 结合使用。例如,这种方法可能适用于游戏或绘图应用程序。

如果您正在构建视频播放器或其他需要最少用户交互的应用程序,您可能可以使用自 Android 4.0(API 级别 14)开始提供的后倾方法。对于这种类型的应用程序,只需使用 SYSTEM_UI_FLAG_FULLSCREEN 和 SYSTEM_UI_FLAG_HIDE_NAVIGATION 就足够了。在这种情况下不要使用“沉浸式”标志。

于 2019-03-18T15:32:10.533 回答