Android px与dp的转换公式对吗?

yinjq 发布于 2012/07/06 10:43
阅读 4K+
收藏 0

The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. 这个该怎么理解呢32

加载中
0
TrulyBelieve
TrulyBelieve

我一般这么用

	public static int dp2px(Context context, int dp)
	{
		float scale = context.getResources().getDisplayMetrics().density;
		return (int) (dp * scale + 0.5f);
	}

	public static int px2dp(Context context, int px)
	{
		float scale = context.getResources().getDisplayMetrics().density;
		return (int) (px / scale + 0.5f);
	}

0
yinjq
yinjq
你那方法中的scale = dpi / 160,也就是说你这方法还是基于px = dp * (dpi / 160)这个公式的。
返回顶部
顶部