我正在尝试编写一个能够适配所有屏幕尺寸的应用程序,为此我让我的平面设计师为每个目录(低密度(120)ldpi、中等密度(160)mdpi、高密度(240)hdpi和超高密度(320)xhdpi)制作所需dpis的图片。但是,他们想知道每张图片应该具有哪种分辨率和纵横比。在查看Android文档后,即:
1)http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources
2)http://developer.android.com/guide/practices/screens_support.html
我得出以下信息:
Android并不仅支持3种屏幕尺寸,它是一种可以在任何屏幕尺寸上运行的操作系统,但是有些屏幕尺寸比其他屏幕尺寸更常见,这些在下表中展示(摘自http://developer.android.com/guide/practices/screens_support.html)。
表1.包含在Android SDK中的模拟器皮肤的屏幕尺寸和密度。 低密度(120),ldpi 中等密度(160),mdpi 高密度(240),hdpi 超高密度(320),xhdpi 小屏幕 QVGA(240x320)
普通屏幕 WQVGA400(240x400) WQVGA432(240x432) HVGA(320x480) WVGA800(480x800) WVGA854(480x854)
大屏幕 WVGA800*(480x800) WVGA854*(480x854)
超大屏幕
值得注意的是,即使这些屏幕尺寸之间似乎没有关联,三种密度之间存在3:4:6的缩放比例,因此,在ldpi中,9x9位图在mdpi中为12x12,在hdpi中为18x18(请参见http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources)。
我们可以在这里了解更多有关屏幕尺寸的信息:
屏幕尺寸 • 小:基于低密度QVGA屏幕上可用空间的屏幕。考虑到纵向HVGA显示器,它具有相同的可用宽度但较小的高度——它是3:4,而HVGA的宽高比为2:3。例如,QVGA低密度和VGA高密度。 • 正常:基于传统中密度HVGA屏幕的屏幕。如果屏幕至少达到此大小(与密度无关),且不超过此大小,则被认为是正常的。此类屏幕的示例包括WQVGA低密度、HVGA中密度、WVGA高密度等。 • 大:基于中密度VGA屏幕上可用空间的屏幕。这种屏幕在宽度和高度方面都比HVGA显示器具有更多可用空间。例如,VGA和WVGA中密度屏幕。 • 特大:比传统中密度HVGA屏幕大得多的屏幕。在大多数情况下,具有特大屏幕的设备太大了,无法放在口袋里,并且很可能是平板式设备。自API Level 9添加。
我们还可以支持特定的宽高比,如下所定义: 屏幕宽高比 • 长:长屏幕,例如WQVGA、WVGA、FWVGA • 非长:非长屏幕,例如QVGA、HVGA和VGA
然而,所有这些仍然不足以回答简单的问题:这些图像的分辨率应该是多少?它们是否可以从同一高分辨率图像中裁剪出来,还是应该针对每个dpi重新制作,因为其宽高比不同? 请帮忙解决,这拖延了我的项目。 谢谢!
表1.包含在Android SDK中的模拟器皮肤的屏幕尺寸和密度。 低密度(120),ldpi 中等密度(160),mdpi 高密度(240),hdpi 超高密度(320),xhdpi 小屏幕 QVGA(240x320)
普通屏幕 WQVGA400(240x400) WQVGA432(240x432) HVGA(320x480) WVGA800(480x800) WVGA854(480x854)
大屏幕 WVGA800*(480x800) WVGA854*(480x854)
超大屏幕
值得注意的是,即使这些屏幕尺寸之间似乎没有关联,三种密度之间存在3:4:6的缩放比例,因此,在ldpi中,9x9位图在mdpi中为12x12,在hdpi中为18x18(请参见http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources)。
我们可以在这里了解更多有关屏幕尺寸的信息:
屏幕尺寸 • 小:基于低密度QVGA屏幕上可用空间的屏幕。考虑到纵向HVGA显示器,它具有相同的可用宽度但较小的高度——它是3:4,而HVGA的宽高比为2:3。例如,QVGA低密度和VGA高密度。 • 正常:基于传统中密度HVGA屏幕的屏幕。如果屏幕至少达到此大小(与密度无关),且不超过此大小,则被认为是正常的。此类屏幕的示例包括WQVGA低密度、HVGA中密度、WVGA高密度等。 • 大:基于中密度VGA屏幕上可用空间的屏幕。这种屏幕在宽度和高度方面都比HVGA显示器具有更多可用空间。例如,VGA和WVGA中密度屏幕。 • 特大:比传统中密度HVGA屏幕大得多的屏幕。在大多数情况下,具有特大屏幕的设备太大了,无法放在口袋里,并且很可能是平板式设备。自API Level 9添加。
我们还可以支持特定的宽高比,如下所定义: 屏幕宽高比 • 长:长屏幕,例如WQVGA、WVGA、FWVGA • 非长:非长屏幕,例如QVGA、HVGA和VGA
然而,所有这些仍然不足以回答简单的问题:这些图像的分辨率应该是多少?它们是否可以从同一高分辨率图像中裁剪出来,还是应该针对每个dpi重新制作,因为其宽高比不同? 请帮忙解决,这拖延了我的项目。 谢谢!