0

我想知道为什么 Eclipse 显示: 在此处输入图像描述

我以为既然“dp”容易因为“密度桶”而变得不准确~

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

和“mm”和“in”(显示相同的警告)相反,“dp”单位是最准确的单位(从某种意义上说,1 英寸实际上是屏幕上的 1 英寸)。

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

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

非常感谢您的回答。

4

1 回答 1

0

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

正如您所说,mm、inch 和 pt 更准确,因为它们是基于真实的物理 dpi 而不是存储桶 dpi。

但是,市场上有一些设备会向 Android 报告不正确的物理 dpi(DisplayMetrics.xdpiDisplayMetrics.ydpi),因此在这些设备上使用 mm、in 或 pt 的任何东西都会得到错误的尺寸。

报告不正确物理 dpi 的设备示例包括:Samsung Galaxy Mini、Samsung Galaxy S3 MiniLg Optimus 2X、Motorola Defy

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

有关同一主题的更多详细信息,请参阅我对问题的回答为什么 Lint 在使用(英寸)或毫米(毫米)单位作为尺寸时显示警告?

于 2014-03-28T09:33:15.147 回答