我的应用可以选择进入全屏模式。三星Galaxy S7 Edge设备的用户向我报告,在这种情况下会显示导航软按钮,并且当应用程序处于全屏状态时不会消失。
以下是我正在使用的代码:
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
mainFrame.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LOW_PROFILE |
View.SYSTEM_UI_FLAG_FULLSCREEN |
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
);
我已经玩了一些选项,但很难,因为我没有三星设备。有人使用此设备可以告诉我正确的设置,因此导航软键不会以全屏模式显示吗?
答案 0 :(得分:0)
我发现了一些可能有用的东西。它来自Google的开发者网站,我认为它完全符合您的要求。我希望这会有所帮助。
我认为这部分一开始就是您所需要的,但我也为您提供了以下链接以获取更多信息:
Android 4.4(API Level 19)为setSystemUiVisibility()引入了一个新的SYSTEM_UI_FLAG_IMMERSIVE标志,让您的应用真正“全屏”。此标志与SYSTEM_UI_FLAG_HIDE_NAVIGATION和SYSTEM_UI_FLAG_FULLSCREEN标志结合使用时,会隐藏导航和状态栏,让您的应用程序捕获屏幕上的所有触摸事件。
https://developer.android.com/training/system-ui/immersive.html
修改强>
我找到了与您的类似问题的答案,建议的方法如下。尝试将此添加到您的代码中。它会做到这一点。
int UI_OPTIONS = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_FULLSCREEN |
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
getWindow().getDecorView().setSystemUiVisibility(UI_OPTIONS);