我正在使用以下代码隐藏状态栏
if (Build.VERSION.SDK_INT < 16) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
虽然有效但
ProgressDialog
或AlertDialog
,然后将其关闭并返回“活动”,则状态栏将再次显示。如何避免它,以便状态栏始终不可见?答案 0 :(得分:0)
确保在开始新活动后完成上一个活动。如果您在finish()
之前致电startActivity()
,则可能会出现白屏。 (或)如果启动器活动中出现白屏,则是因为在Android Studio中启用了Insta Run。请参阅link关于Insta Run。
对于类似动画的应用程序,您必须使用coordinator layout
,collapsing toolbar
创建布局。使用parallax scrolling effect
,您可以隐藏图像,就像应用程序一样。
有关教程,请参阅此处link
在调用AlertDialog之后,您的活动是“恢复”,因此只有在打开任何对话框并返回活动时才会隐藏OnCreate()
上的状态栏,其中名为OnResume()
的super.onResume将调用,基本活动将再次重置。因此,您也可以在OnResume()
方法中调用状态栏隐藏方法。
答案 1 :(得分:0)
对于解决此问题的人,请使用以下代码:
if (Build.VERSION.SDK_INT < 16) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}