ldpi 表示 ~120dpi,mdpi 表示 ~160dpi,hdpi 表示 ~240dpi。xhdpi 表示 ~320dpi。您可以按照 ldpi:mdpi:hdpi:xhdpi 的 3:4:6:8 比例获取资源。
现在您可以为所有分辨率提供不同的图像,它会更好,并且一定没有问题。如果您不能为所有人提供不同的图像,则为 xhdpi 和运行时提供图像,您可以根据屏幕分辨率调整图像大小。
您可以使用以下示例代码来了解运行时的屏幕分辨率:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch (metrics.densityDpi) {
case 120:
//your stuff
break;
case 160:
////your stuff
break;
case 240:
///your suff
break;
case 320:
//your stuff
break;
}
调整位图大小的示例代码::
Bitmap mIcon_val = your bitmap;
Matrix matrix = new Matrix();
matrix.postScale((float)newwidth/mIcon_val.getWidth(), (float)newheight/mIcon_val.getHeight());
Bitmap resizedBitmap = Bitmap.createBitmap(mIcon_val, 0, 0, mIcon_val.getWidth(), mIcon_val.getHeight(), matrix, true);
现在您有了新的位图新的宽度和高度,您可以使用它。