关闭

像素和dip之间的相互转换

4657人阅读 评论(0) 收藏 举报

android不同屏幕之间像素和dip的转换比例是不一样的:

    2 px = 3 dip if dpi == 80(ldpi), 320x240 screen
    1 px = 1 dip if dpi == 160(mdpi), 480x320 screen
    3 px = 2 dip if dpi == 240(hdpi), 840x480

方法:

          // dip转像素
	public int DipToPixels(Context context, int dip) {
		final float SCALE = context.getResources().getDisplayMetrics().density;

		float valueDips = dip;
		int valuePixels = (int) (valueDips * SCALE + 0.5f);

		return valuePixels;

	}

	// 像素转dip
	public float PixelsToDip(Context context, int Pixels) {
		final float SCALE = context.getResources().getDisplayMetrics().density;

		float dips = Pixels / SCALE;

		return dips;

	}


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:192968次
    • 积分:2017
    • 等级:
    • 排名:第19841名
    • 原创:47篇
    • 转载:16篇
    • 译文:0篇
    • 评论:37条