简单记录一下Android中app如何设置状态栏的影藏或显示。
代码片段,只是流水文而已,请略过。
正文
java
public void updateStatusBar(Activity activity, boolean visible) { WindowManager.LayoutParams layoutParams = activity.getWindow().getAttributes(); if (visible) { layoutParams.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); } else { layoutParams.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; } activity.getWindow().setAttributes(layoutParams); activity.getWindow().getDecorView().setSystemUiVisibility(layoutParams.systemUiVisibility); }
fun updateStatusBar(activity: Activity, visible: Boolean) { val layoutParams = activity.window.attributes if (visible) { layoutParams.flags = layoutParams.flags and (WindowManager.LayoutParams.FLAG_FULLSCREEN.inv()) } else { layoutParams.flags = layoutParams.flags or WindowManager.LayoutParams.FLAG_FULLSCREEN } activity.window.setAttributes(layoutParams) activity.window.decorView.systemUiVisibility = layoutParams.systemUiVisibility }