2013-02-20 71 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