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。
我想要一个全屏应用程序,在 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。