安卓XXHDPI资源

85
谷歌 Nexus 10 即将推出,它是第一个使用 xxhdpi 资源的设备。根据Nexus 10 网站这个计算器,它拥有约300 DPI的显示密度。
然而,当我查阅 Android 文档时,上面写道:
  • ldpi:约120dpi
  • mdpi:约160dpi
  • hdpi:约240dpi
  • xhdpi:约320dpi
  • xxhdpi未指定。
Nexus 10的300 DPI屏幕为什么是xxhdpi而不是xhdpixxhdpi的近似DPI应该是多少?除了图标之外,我们是否应该担心为xxhdpi创建新资源,或者我们应该让操作系统扩大xhdpi资源?

4
谷歌的Nexus 10平板电脑拥有300像素密度(每英寸像素数),这与DIP(密度无关像素)不同,DIP是安卓设备独有的显示度量单位。为了增加混淆,DPI(每英寸点数)基本上和PPI(每英寸像素数)一样,但不要把它和DIP混淆起来。DPI != DIP - user1234813
是的 @user1234813,它们显然都是不同的,但情况并不像你所描绘的那样可怕。如果你知道这些首字母缩写的含义,那几乎是微不足道的! - rupps
8个回答

110

根据G+资源中的帖子:

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

看起来xxhdpi设置为480dpi。 根据此,平板电脑使用比其更高的一级dpi bucket的资源进行渲染。Nexus 10位于xhdpi bucket中,将从xxhdpi获取启动器图标。

Source

另外,我不知道平板电脑会从其级别以上的资产桶中获取资源。已经注意到了。


3
我觉得这有些矛盾。Roman Nurik的帖子中提到“支持Nexus 10启动器图标的XXHDPI”...您引用的帖子说Nexus 10是“XHDPI”,但也说“为了确保其清晰,您需要使用drawable-xxhdpi ...文件夹”。编辑:有趣的是,Roman的评论之一提到:“+Benjamin Weiss请记住,显示屏本身并不是xxhdpi,它只是启动器/系统会寻找一个桶升级的图标。” 您可能希望将此添加到您的帖子中。 - Cat
1
我有点做了。他们说平板电脑会从高于它们所在的dpi的资源中获取资源。我会在答案中更清楚地表达这一点。 - DeeV
10
阅读了这篇文章后,我为自己制作了一个工具,它可能对其他人也有用:http://android-dpi-converter.warting.se/ - Wärting
7
2013年的更新:从Android 4.4版本开始,Google体验启动器和Nexus 5手机的启动器都需要一个更高分辨率的图标,而不仅仅是平板电脑。这意味着你需要一个xxxhdpi图标才能在Nexus 5的启动器上完整地显示;请参见https://plus.google.com/+RomanNurik/posts/EURexV9yF32。这可能听起来像个笑话,但却不是:现在启动器图标需要640dpi的素材,xxhdpi的素材将会模糊缩放(因为它们被缩放到一个介于分辨率之间的分辨率,而不是一个整数倍)。 - Yoni Samlan

8

之前并没有规定xxhdpi,但是现在新的设备如S4和HTC one肯定支持xxhdpi 。这些设备的dpi大约在440左右。我不知道xxhdpi的确切限制。

参考如何为Samsung S4开发适用于xxhdpi设备的Android应用程序

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


8

Nexus 10屏幕的DPI为±300,在非官方xhdpi范围280‑400内。

通常,设备使用为其密度设计的资源。但有例外情况,并且将来可能会添加例外情况。 当涉及到启动器图标时,Nexus 10使用xxhdpi资源。

xxhdpi的标准分级DPI为480(这意味着DPI在400‑560范围内的屏幕可能是xxhdpi)。


4
看天空,你因为同样的原因对我的回答进行了负评。自问题提出以来,情况已经发生了变化。因此,发布一个新答案并不会有害,也不是负评的理由! - Tofeeq Ahmad
1
认真的,有人给威尔·惠顿打个电话。 - tophyr

7

480dpi是xxhdpi的标准量化分辨率,它可能会略低(即:440 dpi)或更高(即:520 dpi)。比例因子:3x(3 * mdpi)。

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

这里是来源参考


你有相关的资料吗? - Michael
是的,这就是我想表达的意思。但是你的参考页面没有显示xxhdpixxxhdpi的分辨率(至少目前似乎没有记录)。你有关于xxhdpixxxhdpi分辨率(缩放因子和dpi)的任何参考资料吗? - Michael
1
看这个 页面 - Phantômaxx
很好,你应该将这个页面添加到你的答案中 :) - Michael
好的...我现在就做。感谢您指出这一点。应该引用来源。 - Phantômaxx
显示剩余3条评论

3
分辨率为480 dpi,启动器图标为144*144像素,相对于mdpi(即“基础”,“基线”或“正常”)大小缩放了3倍。

0
根据这个PPI计算工具,Google Nexus 10的显示密度约为300 DPI...
然而,Android文档指出: ldpi: ~120dpi mdpi: ~160dpi hdpi: ~240dpi xhdpi: ~320dpi xxhdpi未指定。
我认为我们只需让Android操作系统放大xhdpi资源...

0

市场上的新型安卓手机,如HTC One、Xperia Z等,分辨率在480dpi以上,将它们归入了新的xxhdpi类别。这些新资源对它们也可能有用。


0

一组四个通用尺寸:小、正常、大和超大。

注意:从Android 3.2(API级别13)开始,这些尺寸组已被弃用,采用了一种基于可用屏幕宽度管理屏幕尺寸的新技术。如果您正在开发Android 3.2及更高版本,请参阅有关Android 3.2的平板电脑布局声明以获取更多信息。

一组六个通用密度:

ldpi(低)~120dpi

mdpi(中)~160dpi

hdpi(高)~240dpi

xhdpi(超高)~320dpi

xxhdpi(超超高)~480dpi

xxxhdpi(超超超高)~640dpi

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接