gpt4 book ai didi

安卓: 'dp' 到 'px' 转换?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:38:29 27 4
gpt4 key购买 nike

我正在阅读这篇文章:http://developer.android.com/guide/practices/screens_support.html

它表示 Android 用于将 dp 单位转换为 px 单位的公式如下:

    px = dp * (dpi / 160)

文章还给出了 dpi 为 240 时的示例,得到 px = 1.5(我计算的是单个 dp 像素)

但是,这里的 1.5 到底是什么意思?一旦 px 单位实际上是物理设备像素,Android 会绘制 1 个或 2 个像素吗?

最佳答案

这取决于上下文。

如果 dp 值用于暗示大小的上下文中,例如 android:layout_width属性,为 Resources.getDimensionPixelSize() 描述的逻辑将会被使用。也就是说,px 值将四舍五入为最接近的整数值,特殊情况是如果 px> 0,则实际值至少为 1。

如果 dp 值用于暗示偏移的上下文中,例如 android:insetLeft Inset Drawable 的属性,为 Resources.getDimensionPixelOffset() 描述的逻辑将会被使用。也就是说,px 值将被简单地截断为整数值。

有时会使用未修改的浮点值,例如 android:dashWidth <stroke/> 的属性Shape Drawable 中的标记,但这种情况很少见。通常使用大小或偏移逻辑,即使可以使用浮点值也是如此。

关于安卓: 'dp' 到 'px' 转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7402749/

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