如您所知,如果您将尺寸和大小放在dp中,它在所有设备中几乎相同。我说几乎是因为桶范围。例如,在具有 240dpi 的 hdpi 中,具有200dpi和279dpi的设备都使用 hdpi 资源和 dimens 文件夹,并且像素大小相同:
像素 = dp * (dpi/160)
例如,一个300dp大小的对象在第一个设备 (200dpi) 中将是 (dp/dpi=inch) 300/200 = 1.5 英寸,在另一个设备中它将是 300/279=1.07 英寸。(279dpi 设备),如您所见,范围 hdpi 的高端和高端与您的 UI 之间的差异太大,而不仅仅是英寸相同。
好的,我发现解决此问题的最佳解决方案是将存储桶划分为更具体的 sw 并更改dimens.xml
每个存储桶范围的 dp 大小。但我不知道如何划分桶和第二如何为他们创造价值!
问题是什么是正确的文件夹范围?实现这一目标的划分 sw 大小的最佳实践是什么。(sw160、sw320、sw480 还是什么?)以及如何为尺寸增加价值?
更新
一些朋友说为什么你不会使用 in 而不是 dp ,这是我的回答:
- Android 使用相同的公式(屏幕分辨率 / dpi = 英寸)获得英寸,因此问题是相同的,并且并非在所有设备中都是准确的。
- Android告诉不推荐使用英寸和毫米和厘米。