您的位置:首页 > 其它

dp和px的转化

2014-11-21 11:20 260 查看
一、首先要认识下:屏幕密度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





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

  return (int)(pxValue/scale+0.5f);  

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dp和px转化