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;
}
使用它很有效!
display.getSize(size);
,因为我的最小SDK级别是8。 - user1531240windowManager.currentWindowMetrics.bounds.height
。 - Zain