0

为 ICS (4.0.3) 构建一个全屏应用程序,我需要完全删除状态栏。

我开始使用 Eclipse 模板(全屏活动)构建我的应用程序,但我发现当我单击应用程序时,状态栏会重新出现!- 我不要这个!

我现在通过构建一个空白活动并将状态栏设置为新的透明活动(使用 3 个灯按钮)得到它

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LOW_PROFILE);

这是我用来实现这一点的代码,有什么方法可以完全删除它?或者编辑全屏模板,这样当你点击或触摸它时它就不会重新出现?

干杯理查德

4

2 回答 2

2

在 ICS 上,需要考虑两个栏:导航栏(在底部)和状态栏在顶部。状态栏删除是使用应用程序主题完成的。(也可以在代码中完成)。

导航栏的行为在 ICS 平板电脑和 ICS 手机之间有所不同。在 ICS 平板电脑上,导航栏无法移除——只能进入低调模式。在手机上,可以移除 NAV 栏。您发布的代码应该可以做到。

操作栏是第三种选择。我确实相信状态栏与某些示例中的操作栏显示/隐藏相关联。搜索出现的 WindowManager.LayoutParams.FLAG_FULLSCREEN(用于显示和隐藏代码中的状态栏)并相应地编辑您找到的代码。

编辑:哎呀。3.0 设备上的时间过多... API 16 中的新功能:SYSTEM_UI_FLAG_FULLSCREEN。看起来像你想要的。

于 2012-12-03T17:58:52.043 回答
0

尝试将以下主题添加到 AndroidManifest.xml 上的活动声明中

对于轻主题

<activity ...
     android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
</activity>

对于深色主题

<activity ...
     android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen">
</activity>

如果您已经有一个主题,您可能需要扩展相应的主题。

于 2012-12-03T17:52:16.170 回答