dpi可下载图像

时间:2012-04-28 23:55:17

标签: android dpi

这是我的疑问。 该应用程序有4个目录(ldpi,mdpi,hdpi,xhdpi)具有相同的图像但不同的dpi。对于mdpi是160dpi,即使用atm的那个。

我从网上下载的图片会怎样?我有一个新闻阅读器,这意味着每个新人至少有一个图像。我想为所有智能手机提供一个不错的形象。

我是否需要不同类型的图片或只是为所有人下载相同的图像? 我可以知道哪种分辨率最适合每个特定的智能手机吗?

我找不到处理此问题的“官方”方式,因此我不知道它是否是我们计划下载的图像的重要dpi。

问候!

2 个答案:

答案 0 :(得分:2)

ldpi表示~120dpi,mdpi表示~160dpi,hdpi表示~240dpi。 xhdpi表示~320dpi。 您可以按照3:4:6:8的比例为ldpi:mdpi:hdpi:xhdpi获取资源。

现在你可以为所有分辨率提供不同的图像,它更好,并且一定没有问题。如果您无法为所有人创建不同的图像,那么请为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);

现在您可以使用新的位图新宽度和高度。

答案 1 :(得分:0)

如果你想构建一个优秀的应用程序,你需要管理每个图像以适合正确的智能手机,如果为所有人下载相同的图像,它看起来不会很好。

欲了解更多信息,请访问: Supporting Multiple Screens