2013-02-20 719 views
8

我想設置Android中2個元素之間的距離。我設定的餘量是1dp,我認爲距離比我想要的要多。我認爲0.5dp會很好。我可以用小數點設置邊距嗎?如果是這樣,支持的最小dp是多少?在Android中設置小數中的dp

+0

如果看看佈局參數值的類型,它們都是int,特別是邊距。 – Triode 2013-02-20 12:16:53

+0

dp表示密度獨立像素,像素是屏幕可以處理的最小尺寸,您認爲它可以是更小的尺寸?你可以給出的最小值是1px,並且它會減少某些設備的邊距,因爲它可以處理較小的尺寸,但是在最小的ppi設備上它會反映出與現在相同的尺寸 – 2013-02-20 12:22:08

回答

9

是的,你可以使用0.5dp或你想要的十進制數,但要小心。當您的dp轉換爲像素時,它們將乘以顯示邏輯密度並四捨五入。

如果你的dp = 0.1比hdpi顯示你得到(int)(0.1 * 1.5 + 0.5)= 1px。 (1.5爲hdpi的顯示邏輯密度)

如果您的DP = 0.5,對於MDPI顯示你得到(INT)(0.5 * 1 + 0.5)= 1像素(1爲MDPI顯示邏輯密度)

+5

err ...我認爲你的數學是關閉的。 (int)(0.1 * 1.5 + 0.5)=(int)(0.15 + 0.5)=(int)(0.65)= 0px。 – 2013-04-23 20:18:19

+0

@StevenByle你的數學也是關閉的。這將是0.75不是0.65;) – 2014-07-10 14:07:23

+4

@AndroidKiller你在你的第一個評論中意識到你說它是0.75,現在你應該說它應該是0.075?請谷歌「0.1 * 1.5 + 0.5」或放在一個計算器,你會看到它是0.65 ... – 2014-07-11 20:12:14