【问题标题】:Understanding Samsung Galaxy Tab screen density了解三星 Galaxy Tab 屏幕密度
【发布时间】:2011-08-13 09:38:16
【问题描述】:

有人会说,如果 Galaxy Tab 屏幕分辨率(纵向模式)为600px,屏幕宽度为3.55inch,则屏幕密度为600/3.55 = 169 dpi。了解这一点并牢记计算设备独立像素 (dp) 的方式 (http://developer.android.com/guide/practices/screens_support.html):

px = dp * (dpi / 160);
600 = dp * (169 / 160);
dip = 568

因此,从位置 0 开始绘制 568dp(与设备无关的像素)宽度的水平线必须与屏幕宽度完全匹配。但是如果你在设备上试试这个,你会发现屏幕宽度是400dp。我将再次使用相同的公式,但获取 dpi:

600 = 400 * (dpi / 160);
dpi = 240

那么有240dpi3.55inch屏幕宽度和600pixels,是否意味着一个物理像素由多个“点”组成,否则参数对应于852pixel (3.55*240)的宽度。

我认为 dpi 的意思是每英寸的点数,也就是每英寸的像素数。但这似乎不是真的……

稍后添加:
这个(http://developer.android.com/guide/topics/resources/more-resources.html#Dimension)说:

无论屏幕密度如何,160dp 始终为一英寸

这不是真的。只需从这里检查测量源: Difference between android dimension: pt and dp

后来添加:
我问的原因是违反160dp = 1inch 的规则会导致在将控件宽度指定为例如320dp 它将在 Galaxy Tab 上覆盖更大的部分,这是真正必要的,并且比您对 600x1024px 屏幕的期望要大得多......

感谢您的澄清 BR 钢

【问题讨论】:

  • 我认为您可能将 dpi 与 dip、设备无关像素混淆了。
  • 嗨,你能更具体地说明我做错了什么吗?我哪里做错了?
  • 我可能误读了您之前的帖子,但也许您想查看 developer.android.com/reference/android/util/…>。我认为它可能不会返回您从计算中期望的密度。我没有检查你的数学,但如果密度是 160 而不是 169,也许这一切都在一起了?
  • Android 文档现已更新,删除了 160 dp 等于 1 英寸的错误说法。

标签: android screen screen-resolution galaxy galaxy-tab


【解决方案1】:

Galaxy Tab (7") 未报告其真实密度。要了解此问题,请阅读以下文章:

http://realmike.org/blog/2010/12/21/multiple-screen-sizes-with-processing-for-android/

显然,这也是三星在制造 Galaxy 时发现的 标签。 Galaxy Tab 有一个 7 英寸、1024×600 的屏幕,分辨率为 170 dpi。然而, 选项卡不会将其密度报告为“mdpi”而是“hdpi”,因此布局 看起来与第二个屏幕截图完全相同。如果他们使用“mdpi”,则 图标是 0.28 英寸宽,“hdpi”是 0.42 英寸宽——不是很大 交易,我必须承认,这样的布局看起来确实更漂亮。

文章包含一些图片,可以让你理解问题。

【讨论】:

  • 嗨,好文章,但是我们应该如何正确指定小部件的大小?似乎只要设备报告真实密度,而不是像 Galaxy-Tab 那样的伪密度,使用 dp 就可以了......
  • 您应该使用 dp 指定它。 Galaxy Tab 显示的对象会比使用真实密度时显示的更大,但三星认为这会取得更好的结果。从那篇文章中的图片来看,我同意三星的观点!另外,请遵循以下提示:developer.android.com/guide/practices/…
  • 好的,同意 - 无论如何,Android 文档说 160dp=1inch 是错误的。这真的很误导人。而且似乎 dpi 可能不是选择可绘制源的最佳方法,因为它在使用伪密度(逻辑密度)时不考虑屏幕尺寸 - 可能是谷歌将来可以改变的东西......我是尝试 DisplayMetrics 类 - 它返回精确的每英寸物理像素(即 169 dpi)以及逻辑密度。
  • 我猜他们在 3.2 中使用“数字选择器”而不是“屏幕大小存储桶”解决了这个问题。下面提到了 Galaxy Tab 和 Dell Streak 的问题:android-developers.blogspot.com/2011/07/…
  • 感谢 Developerx - 我会浏览博客。很高兴听到 3.x 反映了这个问题。
猜你喜欢
  • 2012-06-22
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 2012-09-14
相关资源
最近更新 更多