我正在制作一个应用程序,在按下某个按钮时会弹出警示对话框。状态栏需要被隐藏,因此我在我的 Activity 中有一个方法:
private void hideStatusBar(){
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);
}
}
在活动的onCreate方法中调用此方法,在警示对话框弹出之前,它可以正常工作。一旦警示对话框显示,状态栏就会重新出现。我尝试了以下方法:
alertDialog.show();
hideStatusBar();
这不起作用。然后我覆盖了我的活动的onWindowFocusChanged方法:
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
hideStatusBar();
}
如何使状态栏透明,同时又不隐藏状态栏。有没有办法在显示警告对话框时保持状态栏隐藏?
DialogFragment
,那么这个解决方案对我很有效:https://stackoverflow.com/a/39182367 - ban-geoengineering