我正在试着写一个在所有屏幕尺寸上都能很好地工作的应用程序,因为我让我的图形设计师为每个目录(低密度(120),ldpi,中密度(160),mdpi,高密度(240),hdpi,超高密度(320),xhdpi)生成图像,但是,他们想知道每个图像应该是哪种分辨率和宽高比,在浏览了安卓文档后,即: 1)http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources 2)http://developer.android.com/guide/practices/screens_support.html我得出了以下信息:这不是确切的安卓支持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显示屏,它具有相同的可用宽度,但高度较小-它与HVGA的2:3宽高比相比是3:4。例如QVGA低密度和VGA高密度。·普通:基于传统中密度HVGA屏幕的屏幕。如果屏幕至少是这个大小(与密度无关)并且不大,则认为它是正常的。这种屏幕的例子是WQVGA低密度、HVGA中密度、WVGA高密度。·大屏幕:基于中密度VGA屏幕的可用空间的屏幕。这样的屏幕在宽度和高度上都比HVGA显示器具有明显更多的可用空间。例如VGA和WVGA中密度屏幕。·xlarge:屏幕比传统的中密度HVGA屏幕大得多。在大多数情况下,带有超大屏幕的设备会太大,无法放在口袋里携带,很可能是平板电脑风格的设备。在API级别9中添加。
我们还可以支持特定的纵横比,如下所示:
屏幕宽高比·长:长屏幕,如WQVGA、WVGA、FWVGA;不长:不长,如QVGA、HVGA、VGA
--然而,所有这些都不足以回答这些图像的分辨率应该是多少的简单问题-它们是否都可以从相同的高分辨率图像中剪切,或者由于纵横比不同,它们是否应该为每个dpi重新剪切?请帮帮忙,这阻碍了我的项目谢谢!
发布于 2011-03-12 09:40:07
这取决于你的形象,真的。非常小的图形你可能会想要单独绘制,因为当你插值到更小的尺寸时,你会丢失细节,而对于更大的尺寸,你可能只需要重新缩放,从高分辨率的图像开始。
对于背景图像,这总是有点棘手。因为你不能指望一个特定的分辨率,所以你可以估计并选择一个略小于平均值的分辨率,并将其转换为9个面片,其中边缘将拉伸以覆盖剩余空间,或者您可以使用略大于平均值(大约900 x 500)的分辨率,只需确保边缘区域不包含任何相关信息。基本上,把它想象成打印的出血,它只是额外的区域,如果屏幕不够大,可能会被切断。如果可能的话,使用某种类型的渐变可绘制或其他分辨率独立的图像作为背景会更容易,因为支持大量不同的分辨率。
发布于 2011-11-16 11:26:00
当我创建图形时,我这样考虑: ldpi 240x320 mdpi 320x480 hdpi 480x800 xhdpi 800x1280
将图像放入单独的可绘制文件夹,可绘制hdpi,可绘制mdpi...
背景有点棘手,你可以用bg来做,甚至可以从你的程序而不是布局xml文件中设置它。这将为您提供更多的灵活性,以选择您要调整大小或裁剪它。
https://stackoverflow.com/questions/5280155
复制相似问题