xxhdpi安卓的缩放因子是多少?

77

它是否支持xxhdpi?谷歌不会漏掉文档中的任何东西。 - musefan
自从今年年初,@musefan,Android SDK至少会自动创建一个名为drawable-xxhdpi的文件夹。另外,S4、HTC ONE和Xperia Z都是xxhdpi级别的。我已经看到它们从xxhdpi资源中获取数据。它们远高于xhdpi(240)级别。 - Muhammad Ahmed AbuTalib
请查看我在这里的答案:http://stackoverflow.com/questions/36820746/how-to-design-any-screen-size-and-density-in-androidmulti-screen-for-mobiles/36821546#36821546。 - mehrdad khosravi
2个回答

284

android.util.DisplayMetrics中,你可以看到缩放因子为0.00625

/**
 * Scaling factor to convert a density in DPI units to the density scale.
 * @hide
 */
public static final float DENSITY_DEFAULT_SCALE = 1.0f / DENSITY_DEFAULT;

其中 DENSITY_DEFAULT 值为160 --> 缩放因子为 1.0f / 160 = 0.00625。

sizeScale = DENSITY_DEFAULT_SCALE * DENSITY_DPI

从这里开始:

  • ldpi = 0.00625 * 120 -> 0.75
  • mdpi = 0.00625 * 160 -> 1.0
  • hdpi = 0.00625 * 240 -> 1.5
  • xhdpi = 0.00625 * 320 -> 2.0
  • xxhdpi = 0.00625 * 480 -> 3.0
  • xxxhdpi = 0.00625 * 640 -> 4.0

虽然不是什么难事,但希望对某些人会有所帮助 :)


3
and tvdpi -> 1.3312501 (例如:https://plus.google.com/105051985738280261832/posts/6eWwQvFGLV8) - Vitaly Zinchenko
2
我想知道这是否仍然正确;Google设备指标网站列出了xxxhdpi的3.5和4.0缩放比例:https://design.google.com/devices/。我不确定如何解决这个不一致... - lilbyrdie
4
@lilbyrdie:它仍然有效。请参见android.util.DisplayMetricsDENSITY_560的注释。 - ozbek
1
@ozbek:所以即使设备标记为xxxhdpi,内部也不是这样吗?这也意味着所有图形都会为它们缩放?这听起来不太高效。我还看到有其他四个中间密度...无论如何,感谢您提供的信息。这正是我在寻找的。 - lilbyrdie
2
@ozbek 真的吗?太疯狂了。也许我们不应该感到惊讶。它被深深地埋在文档中,甚至谷歌开发人员自己可能都不知道 :) - the_new_mr
显示剩余6条评论

6

如果您查看度量和网格,您会发现xxhdpi是480 dpi,是基线(mdpi @ 1.0)的3倍。换句话说,xxhdpi的比例因子为3.0。


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