8

有人会说,如果 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

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

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

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

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

这不是真的。只需从这里检查测量源: Android 维度之间的差异:pt 和 dp

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

感谢您的澄清BR STeN

4

1 回答 1

9

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

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

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

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

于 2011-08-13T10:37:35.780 回答