码迷,mamicode.com
首页 > 其他好文 > 详细

dp和px的转化

时间:2014-11-21 12:42:02      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:dp和px转化

一、首先要认识下:屏幕密度ppi
ppi  pixles percent inch  每英寸的像素数
ppi = 水平方向的像素数 / 屏幕宽度

例如:3.7in   480 x 800
         3.7 * 3.7 = 3x*3x + 5x * 5x  
宽度: 3 * 0.63 = 1.89    
PPI ?  480 / 1.89 = 254

规定:ppi是160,标准屏幕密度   mdpi
          240    hdpi
          
二、dp和px的转化
dp和px换算公式:   1dp = 当前屏幕密度 / 160 * 1px
3.7in   480 x 800    1dp = 1.5px


三、代码实现
package com.nooice.library.utils;

import android.content.Context;

/**
 * @describe <dp和px的转化>
 */
public class RKDensityUtil {
 
 public static int dpToPx(Context context,float dpValue) {//dp转换为px
  float scale=context.getResources().getDisplayMetrics().density;//获得当前屏幕密度
  return (int)(dpValue*scale+0.5f);  
 }
 
 public static int pxToDp(Context context,float pxValue) {//px转换为dp

bubuko.com,布布扣

欢迎大家访问我的个人网站 萌萌的IT人
  float scale=context.getResources().getDisplayMetrics().density;//获得当前屏幕密度
  return (int)(pxValue/scale+0.5f);  
 }
}

dp和px的转化

标签:dp和px转化

原文地址:http://blog.csdn.net/androidmylove/article/details/41346187

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!