Hide/Show 运行时的状态栏

Hide/Show status bar at runtime

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

目前我无法实现这一点,因为状态栏的更改只能在向 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已经足够清楚 之前调用,我想知道是否当用户与应用程序交互时,这些更改可能会在稍后的运行时进行。

setContentView

之前调用
setContentView(R.layout.activitylayout);

喜欢

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activitylayout);

尝试使用沉浸式全屏模式(适用于 4.4+)。阅读更多相关信息 here