我使用此功能获得显示尺寸,但我在此设备( moto G2,HTC E8,Moto E,Lg G2 )设备中显示尺寸错误。 但在我的其他设备中,我有完美的尺寸。 如何计算这个尺寸?
private void getDefaultDisplay(WindowManager wm) {
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Display display = wm.getDefaultDisplay();
Point size = new Point();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
display.getSize(size);
CAMERA_WIDTH = size.x;
CAMERA_HEIGHT = size.y;
Log.d("Display", CAMERA_WIDTH + ":" + CAMERA_HEIGHT);
} else {
CAMERA_WIDTH = display.getWidth(); // deprecated
CAMERA_HEIGHT = display.getHeight();
}
}
设备名称计算尺寸:原始尺寸
moto G2 720x1184 : 720x1280
HTC E8 1080x1776 : 1080x1920
Moto E 540x888 : 540x960
LG G2 1080x1776 : 1080 x1920
答案 0 :(得分:1)
使用起来更简单,更好:
int displayWidth = getResources().getDisplayMetrics().widthPixels;
和
int displayHeight = getResources().getDisplayMetrics().heightPixels;
答案 1 :(得分:0)
尝试使用此代码,我在我的应用程序中使用此代码(根据我的经验)它始终返回正确的值:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;