我正在编写一个全屏应用程序,我需要隐藏导航栏,
我正在使用View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
但是一旦用户进行交互,该栏就会重新出现,
我发现了一些其他问题,但没有一个答案......所以有人成功了吗?先感谢您
我正在编写一个全屏应用程序,我需要隐藏导航栏,
我正在使用View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
但是一旦用户进行交互,该栏就会重新出现,
我发现了一些其他问题,但没有一个答案......所以有人成功了吗?先感谢您
在清单文件中的活动下添加以下行,它将使您的活动全屏
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
您不能完全隐藏 NavigationBar,它总是会在用户交互后重新出现。
如果您发布您已经尝试过的内容会很好。
我用它来暂时隐藏我的操作栏:
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
getActionBar().hide();
代码在onCreate开头
仅使用 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
这对我有用。
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 就足够了。在这种情况下不要使用“沉浸式”标志。