为什么Eclipse认为毫米单位不准确

时间:2013-09-09 19:05:32

标签: android eclipse

我想知道为什么Eclipse会显示:enter image description here

我认为,由于“密度桶”,“dp”很容易不准确〜

http://developer.android.com/design/style/metrics-grids.html

和“mm”和“in”(显示相同的警告)相比之下,“dp”单位是最准确的单位(在屏幕上1英寸真的是1英寸)。

有趣的是,“pt”不会让eclipse显示出这样的警告。

我认为“mm”“in”和“pt”的行为方式相同(它们非常准确,因为不依赖于密度桶)。

非常感谢您的回答。

1 个答案:

答案 0 :(得分:0)

你是正确的,因为密度桶,dp不完全准确。一个dp的大小可以是设备上一个dp大小的88%到117%,其中真正的dpi与桶dpi完全匹配,具体取决于真正的dpi和桶dpi之间的差异有多大。比率更高的设备应该放入下一个/上一个桶中。

正如你所说mm,inch和pt更精确,因为它们是基于真正的物理dpi而不是dpi。

但是,市场上有一些设备可以报告Android(DisplayMetrics.xdpiDisplayMetrics.ydpi的物理dpi不正确,因此,因此使用mm,in或pt这些设备上的任何内容都会出错尺寸。

报告错误物理dpi的设备示例包括:Samsung Galaxy Mini, Samsung Galaxy S3 MiniLg Optimus 2X, Motorola Defy

这就是为什么Eclipse说这些单元在所有设备上无法正常工作的原因。没有警告pt的原因可能是因为添加此警告的开发人员忘记了pt,或者从未在有问题的设备上测试过这种情况。

有关同一主题的详细信息,请参阅我对问题Why Lint shows warning when using in (inch) or mm (millimeter) units as dimension?

的回答