Android:多图像密度支持 - 缩放高度宽度和dpi?

时间:2011-01-28 22:15:04

标签: android

我有一个Android应用程序,我正在尝试添加对不同密度,屏幕尺寸等的支持。我已经在HVGA支持的模拟器上开发了应用程序并使用了我们的iPhone应用程序中的所有图标,结果很好因为分辨率是320x480。一切看起来都不错,但在阅读官方的android文档后我有点困惑。对于布局我正在经历并确保所有内容都是以dp为单位,但是当涉及图像时我就丢失了。我知道mdpi是160,但是我告诉我的设计师hdpi图像需要什么?我们需要增加高度和宽度以及dpi吗?或者它是否足够简单地保留dpi并增加高度宽度?例如,如果我有一个100 x 100和160 dpi的图像,为了在hdpi屏幕上呈现它相同,它现在应该是150 x 150 240 dpi?假设如果我将dpi保持在160,它会有点模糊吗?抱歉愚蠢的问题,但我只是想确保我做的一切正常,我真的是一个没有图形经验的C开发人员....没有任何借口可以使用一些帮助。我看到一些例子,其中mdpi的启动画面在160 dpi时为320x480但是hdpi启动画面在240 x 800时为240.显然480 x 1.5不等于800.此外,在查看android sdk中的图标后,它们只扩大宽度和高度,而不是dpi。可能是因为它们是图标而不需要?迷失在photoshop的土地上......

4 个答案:

答案 0 :(得分:3)

对于我作为移动开发公司的平面艺术家,我在这个方面为Android制作了UI:

HDPI :300dpi的640px x 960px优化75% MDPI :300dpi的640px x 960px优化50%
LDPI :300dpi的640px x 960px优化25%

答案 1 :(得分:1)

看看Providing Resources

“屏幕像素密度(dpi)”上有一节。你是正确的,你只需缩放资源的宽度和高度。 ldpi处的90像素图像变为120 px mdpi,180 hdpi和240 ad xhdpi。

你也是对的,800不是基本480高度的1.5倍。原因是这些都是基于每个密度的目标的近似值。电话操作系统取决于其上运行的应用程序的实际高度和宽度,并调整资源以匹配手机的确切尺寸,因为它可能会有所不同。这是我的理解。

答案 2 :(得分:1)

我最近通过从SVG矢量图像生成许多不同大小的PNG来解决这个问题。这些是我用于屏幕像素密度和屏幕尺寸的比率:

  • ldpi:mdpi:hdpi:xhdpi:xxhdpi< - > 3:4:6:8:12
  • sw320dp:sw360dp:sw480d:sw600dp:sw720dp< - > 8:9:12:15:18

将这两者组合在一起可以提供5 x 5的图像尺寸比例表,以便在大多数Android设备的屏幕上使图像资源看起来很棒。当然,缺点是会生成许多图像,并且APK的大小会增加。

请参阅http://aleakymemory.blogspot.com/2013/11/a-different-look-at-managing-android.html了解图像尺寸比率表。

答案 3 :(得分:0)

  

现在一切看起来都不错,但在阅读官方的Android文档后我有点困惑。

您阅读了哪些文档?以下是一些要继续: