手机更改分辨率后,wm size出现以下两个
Physical size: 1440x2560
Override size: 1080x1920
截图取的是Override size就有bug,截不全
想获取Physical size怎么获取,试了
Rect crop;width = crop.width(); 和
mDisplayMetrics.widthPixels
取到都还是Override size,怎么才能取到当前的Physical size
private int mWidth;
private int mHeight;
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public void getDisplayMetrics() {
WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int API_LEVEL = android.os.Build.VERSION.SDK_INT;
// 方法1
DisplayMetrics displayMetrics = new DisplayMetrics();
if (API_LEVEL >= 17) {
display.getRealMetrics(displayMetrics);
} else {
display.getMetrics(displayMetrics);
}
mWidth = displayMetrics.widthPixels;
mHeight = displayMetrics.heightPixels;
// 方法2
Point outSize = new Point();
if (API_LEVEL >= 17) {
display.getRealSize(outSize);
} else {
display.getSize(outSize);
}
mWidth = outSize.x;
mHeight = outSize.y;
// 方法3
mWidth = mContext.getResources().getDisplayMetrics().widthPixels;
mHeight = mContext.getResources().getDisplayMetrics().heightPixels;
}
最后获取到了吗