-1

我想要一个全屏应用程序,它隐藏状态栏onCreate,然后在某个时候,当用户打开选项菜单时,我想显示状态栏。然后,当关闭选项菜单时,再次隐藏状态栏。

目前我无法实现这一点,因为状态栏的更改只能在向 Activity 添加内容之前完成,所以尝试这样做:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);

抛出此异常

09-01 12:37:19.415: E/AndroidRuntime(2737): java.lang.RuntimeException: Unable to pause activity {com.bla.blabla/com.bla.blabla.MainActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content

这完全可以实现吗?

编辑:我知道当你第一次制作它时,必须先调用代码setContentView,这很清楚,我想知道这些更改是否可以在运行时稍后进行,当用户与应用程序交互时。

4

2 回答 2

1

尝试使用沉浸式全屏模式(4.4+ 可用)。在此处阅读更多相关信息。

于 2015-09-01T10:06:56.037 回答
0

在setContentView之前调用

setContentView(R.layout.activitylayout);

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activitylayout);
于 2015-09-01T09:48:50.090 回答