px和dp单位之间的转换

时间:2012-05-12 18:19:05

标签: java android layoutparams density-independent-pixel

我想使用layout_marginTopsetLayoutParams()设置为800px。但是我想知道dp单位中这个值是什么?

提前致谢。

1 个答案:

答案 0 :(得分:2)

显示的逻辑densityDisplayMetrics类中给出,可以使用

检索
getResources().getDisplayMetrics().density

因此,要将dp转换为px,您可以这样做,

int density = getResources().getDisplayMetrics().density;
int px = (int) (dp * density);

要将px转换为dp,只需执行逆操作

int dp = px/density;