手机更改分辨率后,wm size出现以下两个
Physical size: 1440x2560
Override size: 1080x1920
截图取的是Override size就有bug,截不全
想获取Physical size怎么获取,试了
Rect crop;width = crop.width(); 和
mDisplayMetrics.widthPixels
取到都还是Override size,怎么才能取到当前的Physical size
android如何获取屏幕Physical size
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
梦屿千寻 ꦿ 2019-05-10 09:52关注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; }评论 打赏 举报解决 2无用