我有一個按鈕,其layout_height爲10mm,在大多數設備上看起來都正確,但例如Lg Optimus 2X和Motorola Defy上的按鈕大約有一半大小:Android:尺寸爲毫米或英寸的視圖尺寸不正確
我檢索到這些設備上的DisplayMetrics信息,這裏是一個簡短的概述:
HTC Desire Z: 480x800, density : HIGH, xdpi: 254.0, ydpi: 254.0
Motorola Defy: 480x854, density : HIGH, xdpi: 96.0, ydpi: 96.0
Samsung Galaxy S2: 480x800, density : HIGH, xdpi: 217.71428, ydpi: 218.49463
LG Optimus 2X: 480x800, density : HIGH, xdpi: 160.0, ydpi: 160.0
正如你可以看到Desire Z的和三星有一個合理的期待X/Y-DPI值。違抗和優化提供了不正確的值,我認爲這是錯誤大小的原因。
除了爲這些設備創建單獨的佈局文件之外,是否還有其他方法來解決硬件錯誤?
或者是否建議不要使用mm/in尺寸?
在某些情況下,我不想資產規模...比如某個按鈕應該始終有一定的最小尺寸(大約拇指的大小,6-10毫米高)。即使在像x10 240x320和160dpi這樣的設備上,按鈕仍然應該有6-10mm的高度。我知道這是我正在開發的應用程序的一種特殊要求。但有一個原因爲什麼有一個毫米/英寸的測量。該文件沒有說明不推薦使用該測量。只有px尺寸不推薦。 – 2011-06-06 09:39:33
如果您忽略多功能設備,以毫米/英寸爲單位指定的內容將在具有不同dpi的設備上正確縮放。它實際上比dp單位的縮放效果更好(請參閱我的回答以及與之相關的其他問題)。不過,我同意dp是在這個特定情況下使用的單位。 – nibarius 2014-03-28 14:38:26