以重绘状态栏,遮盖状态栏为例:java
一、设置 WindowManager.LayoutParams 属性android
public static WindowManager.LayoutParams getStatusViewParams(Context ctx, WindowManager mWindowManager) {
//反射状态栏高度
int actionBarHight = 0;
int resourceId = ctx.getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
actionBarHight = ctx.getResources().getDimensionPixelSize(resourceId);
}
// 设置LayoutParams(全局变量)相关参数
WindowManager.LayoutParams mStatusBarParams = new WindowManager.LayoutParams();
//TYPE_SYSTEM_ERROR 须要控件获取焦点时才须要 TYPE_SYSTEM_OVERLAY
mStatusBarParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
mStatusBarParams.format = PixelFormat.RGBA_8888;
mStatusBarParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowMana