2017-09-12 12 views
0

1dp是ppi爲160的顯示器的一個像素。爲什麼將其改爲小數字(0.3)不會改變可見性?我期望將1dp改爲0.3dp會使小部件(只是一行)不可見。每英寸點數單位如何在android中工作?

+0

,但是,你真的查了160dpi設備上?我認爲,值只是四捨五入到最近的像素。 –

回答

0

在機器人有一個式:

px = (int)(scale * dp + 0.5)

(即舍入到最接近的整像素值的器件密度刻度)

的比例值將基於所述設備的屏幕密度:

因此0.5dp會導致{1px, 1px, 1px, 2px}爲上述密度,而1dp將爲{1px, 2px, 2px, 3px}。像0.1dp這樣的微小值將解析爲{1px, 1px, 1px, 1px},因爲上述公式中小於1的任何值都會解析爲單個像素,除非該值明確爲0dp(無法繪製比單個像素寬度更薄的東西)。

如果你想確保儘可能薄的寬度時,可能是最好的與px而不是縮放單元像dp.設置的1px值將與所有設備上的單個像素得出明確定義的寬度,並且是多比希望0.5dp0.1dp更具可讀性。

有關詳細信息閱讀documentation

相關問題