在做打开app设置新打开界面高度时,首先用了 getMetrics方法发现有状态栏留白;尝试了好几个方法都没有解决这个问题;
终于 getMetricsFull 这个方法解决了我的烦恼。。。注:此方法仅支持 4.2及以后版本
/**
* 获取当前屏幕的尺寸大小,不包含状态栏
* @param context
* @return
*/
public static DisplayMetrics getMetrics(Context context) {
DisplayMetrics metrics = new DisplayMetrics();
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
manager.getDefaultDisplay().getMetrics(metrics);
return metrics;
}
/**
* 获取当前屏幕包含状态栏的尺寸大小
* @param context
* @return
*/
public DisplayMetrics getMetricsFull(Context context) {
DisplayMetrics metrics = new DisplayMetrics();
WindowManager windowMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
windowMgr.getDefaultDisplay().getRealMetrics(metrics);
return metrics;
}
DisplayMetrics metrics = getMetricsFull(context)
// 获取高度
int height = metrics .heightPixels;
// 获取宽度
int width = metrics .widthPixels;
特别感谢:https://blog.csdn.net/u013868665/article/details/115402650