0

我的怀疑很简单。该应用程序有 4 个目录(ldpi、mdpi、hdpi、xhdpi),图像相同但 dpi 不同。对于 mdpi 是 160dpi,我使用 atm 的那个。

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

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

我找不到处理这个问题的“官方”方式,所以我不知道它对于我们计划下载的图像是否重要的​​ dpi。

问候!

4

2 回答 2

2

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);

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

于 2012-04-29T02:20:04.917 回答
0

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

欲了解更多信息,请访问: 支持多个屏幕

于 2012-04-29T01:35:51.340 回答