gpt4 book ai didi

android - Android可以支持dp小于1dp吗?

转载 作者:IT王子 更新时间:2023-10-29 00:03:42 24 4
gpt4 key购买 nike

我正在制作日历,我需要一个网格。问题是边界,或者更确切地说是每个网格之间的空间,这是我用来模拟网格的,是 1 dp。但是比较厚。我正在寻找其他有边框的日历应用程序,它们非常薄。即使我要使用 drawable 形状并将其设为 1dp,它仍然具有该厚度。我尝试使用 0.5,但这似乎不起作用。这不可能吗?

最佳答案

Android 允许您将 dp 的小数值输入 XML,但我不确定我是否会推荐它,因为结果变得不太容易预测/计算。设备使用(基本上)以下公式将 dp 值转换为像素:

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

(即设备密度刻度四舍五入到最接近的整个像素值)

scale 值将基于设备的屏幕密度:

  • MDPI = 1
  • HDPI = 1.5
  • XHDPI = 2
  • XXHDPI = 3

所以 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 更易读一样。

关于android - Android可以支持dp小于1dp吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com