【问题标题】:Android XXHDPI resourcesAndroid XXHDPI 资源
【发布时间】:2012-11-04 02:48:58
【问题描述】:

Google Nexus 10 即将面世,编号为the first device to use xxhdpi resources。它的显示密度约为 300 DPI(根据the Nexus 10 websitethis calculator)。

但是,当我查看 Android 文档时,它指出:

  • ldpi : ~120dpi
  • mdpi : ~160dpi
  • hdpi : ~240dpi
  • xhdpi : ~320dpi
  • xxhdpi 未指定。

为什么 Nexus 10 的 300 DPI 屏幕是 xxhdpi 而不是 xhdpixxhdpi 的近似 DPI 应该是多少?我们是否应该担心此时xxhdpi 有新资源(除了图标),还是应该让操作系统扩大xhdpi 资源?

【问题讨论】:

  • nexus 10 有 300 PPI(每英寸像素),这与 Android 发明的显示指标 DIP/DP(DENSITY INDEPENDANT PIXEL)不同。为了完成混淆,DPI(DOTS PER INCH)与PPI(PIXELS PER INCH)基本相同,但不要将其与DIP(DENSITY INDEPENDANT PIXEL)混淆。 DPI != DIP
  • 是的@user1234813 他们都明显不同,但全景并不像你画的那么糟糕。如果您知道首字母缩略词的含义,那几乎是微不足道的!

标签: android android-resources


【解决方案1】:

根据 G+ 资源中链接的帖子:

Nexus 10 的华丽屏幕落入 XHDPI 密度 桶。在平板电脑上,Launcher 使用上一个密度桶中的图标 [0] 使它们稍微变大。确保您的启动器图标 (可以说是您的应用程序最重要的资产)很清晰,您需要添加一个 drawable-xxhdpi 或 drawable-480dpi 文件夹中的 144*144px 图标。

所以看起来 xxhdpi 设置为 480dpi。据此,平板电脑使用的资产来自一个 dpi 存储桶,高于它们用于启动器的存储桶。位于存储桶 xhdpi 中的 Nexus 10 将从 xxhdpi 中拉出启动器图标。

Source

此外,不知道平板电脑会从高于其级别的资产桶中获取资源。已注明。

【讨论】:

  • 这对我来说似乎很矛盾。 Roman Nurik 的帖子说“支持 Nexus 10 启动器图标的 XXHDPI”...您引用的帖子说 Nexus 10 是“XHDPI”,但也说“[T]o 确保 [it] 清晰,你需要[使用] drawable-xxhdpi ...文件夹”。 编辑: 有趣的是,其中一位 cmets(来自 Roman)说,“+Benjamin Weiss 记住,显示器本身不是 xxhdpi,它只是启动器/系统寻找一个桶的地方-向上图标。”您可能希望将此添加到您的帖子中。
  • 我有点做过。他们说平板电脑从比它们所在的更高 dpi 的资产中获取资源。我会在答案中更清楚地说明这一点。
  • 看了这篇文章后自己做了一个工具,可能对其他人有用:android-dpi-converter.warting.se
  • 2013 年更新:从 Android 4.4 Google 体验启动器和 Nexus 5 开始,您需要在手机上的启动器上使用一个桶图标,而不仅仅是平板电脑。这意味着您需要一个 xxxhdpi 图标才能让 Nexus 5 启动器以完全清晰的方式呈现;见plus.google.com/+RomanNurik/posts/EURexV9yF32。这听起来像是一个笑话,但事实并非如此:启动器图标的 640dpi 资源现在是必需的; xxhdpi 只会以一种糟糕的方式模糊地放大(因为它是启动器使用的中间分辨率,而不是偶数倍)。
【解决方案2】:

以前没有指定 xxhdpi,但现在新设备 S4,HTC 肯定是在 xxhdpi 里面。这些设备 dpi 大约是 440。我不知道 xxhdpi 的确切限制见how to develop android application for xxhdpi device Samsung S4 我知道这是迟到的答案,但自从提出问题后情况发生了变化

注意 Google Nexus 10 需要在 drawable-xxhdpi 或 drawable-480dpi 文件夹中添加一个 144*144px 的图标。

【讨论】:

    【解决方案3】:

    Nexus 10的屏幕DPI为±300,在非官方xhdpi range of 280‑400中。

    通常,设备会使用专为其密度设计的资源。但也有例外,将来可能会添加例外。 Nexus 10 在启动器图标方面使用xxhdpi 资源。

    xxhdpi is 480 的标准量化 DPI(这意味着 DPI 在 400-560 范围内的屏幕可能是 xxhdpi)。

    【讨论】:

    • 看天空,出于同样的原因,您对我的回答投了反对票。事情从提出问题的时候开始发生了变化。因此,发布新答案并没有什么害处,也不是拒绝投票的理由!
    • 说真的,有人打电话给 Wil Wheaton。
    【解决方案4】:

    480 dpi 是 xxhdpi 的标准量化分辨率,它可以变化更少(即:440 dpi)或更多(即:520 dpi)。比例因子:3x (3 * mdpi)。

    现在有了更高的分辨率,xxxhdpi (640 dpi)。比例因子 4x (4 * mdpi)。

    这是source reference

    【讨论】:

    • 你有这方面的资料吗?
    • 你是指android开发者的参考页面,比如Supporting multiple screens
    • 是的,我就是这个意思。但是您的参考页面没有显示xxhdpixxxhdpi 的分辨率(至少它似乎还没有记录)。您对xxhdpixxxhdpiresolutions(缩放因子和dpi)有任何参考吗?
    • 看看这个page
    • 很好,您应该将此页面添加到您的答案中:)
    【解决方案5】:

    分辨率为 480 dpi,启动器图标为 144*144px,所有尺寸都相对于 mdpi(所谓的“基本”、“基线”或“正常”)尺寸缩放 3 倍。

    【讨论】:

      【解决方案6】:

      市场上较新的 android 手机,如 HTC one、Xperia Z 等,分辨率在 >480dpi 范围内,也属于新的 xxhdpi 类。新资产也可能对他们有用。

      【讨论】:

        【解决方案7】:

        一组四种通用尺寸:小、正常、大和超大 注意:从 Android 3.2(API 级别 13)开始,这些尺寸组已被弃用,取而代之的是一种基于可用屏幕宽度管理屏幕尺寸的新技术。如果您正在为 Android 3.2 及更高版本进行开发,请参阅为 Android 3.2 声明平板电脑布局以了解更多信息。

        一组六个广义密度:

        ldpi(低)~120dpi

        mdpi(中等)~160dpi

        hdpi(高)~240dpi

        xhdpi(超高)~320dpi

        xxhdpi (extra-extra-high) ~480dpi

        xxxhdpi (extra-extra-extra-high) ~640dpi

        来自 developer.android.com:http://developer.android.com/guide/practices/screens_support.html

        【讨论】:

          【解决方案8】:

          根据PPI calculation tool,Google Nexus 10 的显示密度约为 300 DPI...

          但是,Android 文档指出:

          ldpi : ~120dpi mdpi : ~160dpi 高清:~240dpi xhdpi : ~320dpi 未指定 xxhdpi。

          我认为我们只是让 Android 操作系统扩展 xhdpi 资源...

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-02-11
            • 2014-02-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-05-17
            相关资源
            最近更新 更多