使用Dialog状态栏变黑问题
程序员文章站
2022-07-14 15:05:12
...
Window window = getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
// 如果将高度设置为MATCH_PARENT,那么就会出现状态栏变黑的问题
解决办法:
动态的去计算手机高度
getWindow().setLayout((ViewGroup.LayoutParams.MATCH_PARENT), UIUtil.getScreenHeight()- UIUtil.getStatusBarHeight());
/**
* 获取屏幕高度
*
* @return 屏幕高度
*/
public static int getScreenHeight() {
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
return wm.getDefaultDisplay().getHeight();
}
/**
* 获取状态栏高度
*
* @return 状态栏高度
*/
public static int getStatusBarHeight() {
int result = 0;
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
return result;
}