获取错误的显示尺寸。如何转换为原始大小?

时间:2014-11-07 14:41:01

标签: android live-wallpaper displaytag

我使用此功能获得显示尺寸,但我在此设备( 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

2 个答案:

答案 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;