我正在制作一个日历,我需要一个网格.问题是边界,或者更确切地说是每个网格之间的空间,这是我用来模拟网格的,是1 dp.但它相当厚实.我正在寻找具有边框的其他日历应用程序,它们非常薄.即使我使用一个drawable形状并使其成为1dp,它仍然具有该厚度.我尝试使用.5,但这似乎不起作用.这不可能吗?
Dev*_*red 61
Android确实允许您输入dpXML的小数值,但我不确定我会推荐它,因为结果变得不那么容易预测/计算.设备dp使用(基本上)以下公式将值转换为像素:
px = (int)(scale * dp + 0.5)
Run Code Online (Sandbox Code Playgroud)
(即器件密度比例四舍五入到最接近的整像素值)
该scale值将基于设备的屏幕密度:
因此0.5dp,对于上述密度,将导致{1px,1px,1px,2px},而1dp将是{1px,2px,2px,3px}.一个微小的值0.1dp会分解为{1px,1px,1px,1px},因为上面公式中任何小于1的值都会解析为单个像素,除非该值是明确的0dp(不可能绘制比单个像素宽度更薄的东西).
如果您想确保使用最薄的宽度,最好明确定义宽度,px而不是缩放单位dp.设置值1px将在所有设备上使用单个像素绘制,并且比希望0.5dp或0.1dp相同更具可读性.
| 归档时间: |
|
| 查看次数: |
12414 次 |
| 最近记录: |