【问题标题】:Android Resources - which resolutions should go into the hdpi, ldpi, mdpi and xhdpi directoriesAndroid 资源 - 哪些分辨率应该进入 hdpi、ldpi、mdpi 和 xhdpi 目录
【发布时间】:2011-07-13 21:39:58
【问题描述】:

我正在尝试编写一个适用于所有屏幕尺寸的应用程序,因为我让我的图形设计师为每个目录(低密度(120)、ldpi、中密度( 160),mdpi,高密度(240),hdpi,超高密度(320),xhdpi)但是,他们想知道每个图像应该是什么分辨率和纵横比,在查看了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 种屏幕尺寸并不准确,android 是一个几乎可以在任何屏幕尺寸上运行的操作系统,但有一些屏幕尺寸比其他屏幕尺寸更常见,如下表所示(取自 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,在 mdpi 中为 18x18 hdpi(见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 中等密度屏幕。 • xlarge:比传统的中等密度 HVGA 屏幕大得多的屏幕。在大多数情况下,具有超大屏幕的设备太大而无法放在口袋中携带,并且很可能是平板式设备。在 API 级别 9 中添加。

我们还可以支持特定的纵横比,定义如下:

屏幕方面 • long:长屏幕,例如 WQVGA、WVGA、FWVGA • notlong:非长屏幕,如QVGA、HVGA、VGA

-- 然而,所有这些都不足以回答这些图像的分辨率应该是多少的简单问题——它们可以全部从同一张高分辨率图像中剪切出来,还是应该为每个 dpi 重新完成,因为纵横比不同? 请帮忙,这阻碍了我的项目 谢谢!

【问题讨论】:

    标签: android graphics resolution dpi


    【解决方案1】:

    当我创建图形时,我会考虑这种方式: 分辨率 240x320 mdpi 320x480 高清 480x800 xhdpi 800x1280

    把图片分开的drawable文件夹,drawable-hdpi,drawable-mdpi....

    背景有点棘手,你可以用 bg 来做,甚至可以从你的程序而不是布局 xml 文件中设置它。这将为您提供更大的灵活性,以选择您要调整大小或裁剪它的天气。

    【讨论】:

      【解决方案2】:

      这取决于你的图像,真的。您可能需要单独绘制非常小的图形,因为在插值到较小尺寸时会丢失精细的细节,而对于较大的图形,您可能只需重新缩放即可,从高分辨率图像开始。

      对于背景图片,这总是有点棘手。由于您不能指望特定的分辨率,您可以估计并使用比平均值略小的一个,然后将其变成 9-patch,其中边缘将延伸以覆盖剩余空间,或者您可以使用比平均值稍大一点(大约 900 x 500),并确保边缘区域不包含任何相关信息。基本上,把它想象成打印的出血,如果屏幕不够大,它只是可能会被切断的额外区域。如果可能的话,由于需要支持大量不同的分辨率,因此只使用某种渐变可绘制或其他分辨率无关类型的图像作为背景会更容易。

      【讨论】:

      • 不过,需要什么分辨率?假设对于每个 dpi 类别的背景图像,我应该使用哪种分辨率和纵横比?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      相关资源
      最近更新 更多