1

我正在构建一个应用程序,其中包含一个在整个应用程序视图中使用的图像文件。我对 android.developers 中关于将图像缩放到 Android 中不同屏幕密度的信息有点困惑ldpi = 0.75mdpi = 1.0; hdpi = 1.5; xhdpi = 2.0.

我的第一个想法是,我所要做的就是将图像文件插入到适当的密度文件中,然后 Android 会负责缩放;但我不觉得这是正确的。我的问题是:

如果我错了,我必须自己将图像缩放到适当的密度,然后将它们保存到不同的密度文件中,我该怎么做?我可以在 Photoshop 中做到这一点吗?我想是的,但我不确定。如果是这样,我将如何缩放图像?谢谢你的帮助!

4

2 回答 2

1

如果您想让 Android 缩放(我不推荐),您可以简单地将一张图像仅放置在适当的密度文件夹中(最好是您支持的最高 - xhdpi 可能目前),Android 将对其进行缩放。

最好是,您应该事先在选择的 Photoshop/GIMP/编辑器中重新缩放它们。

于 2013-02-19T00:33:14.457 回答
1

给你,这可能会有所帮助,我把它从这里拿下来了,它有时会派上用场:

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp

Generalised dpi values for screens:

ldpi resources for low-density (ldpi) screens (~120dpi)
mdpi resources for medium-density (mdpi) screens (~160dpi) (this is the baseline density)
hdpi resources for high-density (hdpi) screens (~240dpi)
xhdpi resources for extra high-density (xhdpi) screens (~320dpi)

Therefore generalised size of your resources (assuming they are full screen):

ldpi
Vertical = 426 * 120 / 160 = 319.5px
Horizontal = 320 * 120 / 160 = 240px
mdpi
Vertical = 470 * 160 / 160 = 470px
Horizontal = 320 * 160 / 160 = 320px
hdpi
Vertical = 640 * 240 / 160 = 960px
Horizontal = 480 * 240 / 160 = 720px
xhdpi
Vertical = 960 * 320 / 160 = 1920px
Horizontal = 720 * 320 / 160 = 1440px

Formula used:

px = dp*dpi/160
于 2013-02-19T00:30:25.300 回答