DisplayMetrics metrics = new DisplayMetrics();

this.getWindowManager().getDefaultDisplay().getMetrics(metrics);

screenWidth = metrics.widthPixels;

screenHeight = metrics.heightPixels;

我使用这些代码来获得屏幕的高度和宽度

我的Nexus7的屏幕高度应该是1280

但它返回1205 …

和我的minSdkVersion是8级

所以我不能使用这些方法:

Display display = getWindowManager().getDefaultDisplay();

Point size = new Point();

display.getSize(size);

int screen_width = size.x;

int screen_height = size.y;

现在,我应该如何获得正确的屏幕尺寸?

编辑:

if (Build.VERSION.SDK_INT >= 11) {

Point size = new Point();

try {

this.getWindowManager().getDefaultDisplay().getRealSize(size);

screenWidth = size.x;

screenHeight = size.y;

} catch (NoSuchMethodError e) {

Log.i("error", "it can't work");

}

} else {

DisplayMetrics metrics = new DisplayMetrics();

this.getWindowManager().getDefaultDisplay().getMetrics(metrics);

screenWidth = metrics.widthPixels;

screenHeight = metrics.heightPixels;

}

使用它工作!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐