【发布时间】:2014-03-06 07:36:43
【问题描述】:
我有一个想要全屏运行的应用。如果我有一个 4.4 KitKat 的设备,很容易设置 SYSTEM_UI_FLAG_IMMERSIVE 以使应用程序变为纯全屏。
但是,如果我有一个 API 低于 4.4 的设备。我不知道如何让它全屏,就好像它是具有沉浸式支持的 KitKat。
我可以设置全屏,并隐藏导航标志以使应用程序进入全屏状态,但是一旦单击屏幕,这些标志就会重置,现在将同时显示导航栏和状态栏。
有没有一种解决方案可以让我在带有 JB 和可能的 ICS 的设备上“模拟”沉浸式模式(不一定在下面)。
我有一个方法 hideSystemUI 在OnSystemUiVisibilityChangeListener 触发时运行,目前看起来像这样。
private void hideSystemUI() {
actionBar.hide();
isMenuVisible = false;
if (currentapiVersion >= android.os.Build.VERSION_CODES.KITKAT){
mDecorView.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);
}
else{
mDecorView.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);
}
}
我需要进行哪些更改才能使应用全屏显示,而不是在每次点击时显示导航栏和状态栏,而是从顶部或底部滑动。
【问题讨论】:
-
如果可以使用现有标志,您认为 Google 为什么会为沉浸式模式添加特定标志?
-
好吧,他们当然添加了标志,因为没有标志可以解决这个问题。针对
-
@jdahlgren 你找到解决方案了吗?
标签: android fullscreen android-4.4-kitkat android-fullscreen android-4.2-jelly-bean