【发布时间】:2012-01-08 17:01:53
【问题描述】:
我正在尝试将可变数量的像素计算为与密度无关的像素,反之亦然。
这个公式(px to dp): dp = (int)(px / (displayMetrics.densityDpi / 160)); 不适用于小型设备,因为它被零除。
这是我的 dp 到 px 公式:
px = (int)(dp * (displayMetrics.densityDpi / 160));
有人可以指点一下吗?
【问题讨论】:
-
将 dp 单位转换为像素单位 developer.android.com/guide/practices/…
-
@Bram:我认为你的公式很好。您将如何除以零? displayMetrics.densityDpi 将是 120、160、240 或 320,而不是 0。
-
我同意@ct_rob。 displayMetrics.densityDpi / 160 最小值将为 0.75。您一定是在不正确的位置转换为 int。
标签: android formula density-independent-pixel