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
![](http://images.cnitblog.com/blog/437282/201411/041405283617635.gif)
欢迎大家访问我的个人网站 萌萌的IT人
float scale=context.getResources().getDisplayMetrics().density;//获得当前屏幕密度
return (int)(pxValue/scale+0.5f);
}
}
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
![](http://images.cnitblog.com/blog/437282/201411/041405283617635.gif)
欢迎大家访问我的个人网站 萌萌的IT人
float scale=context.getResources().getDisplayMetrics().density;//获得当前屏幕密度
return (int)(pxValue/scale+0.5f);
}
}
相关文章推荐
- android原生的dimens转化工具 dp,sp,px
- Android 中像素px和dp的转化
- Android 中像素px和dp的转化
- dp和px相互转化的方法
- 自定义View中 dp sp与px转化
- Android sp dp px转化工具类
- 【android】dp和px转化
- Android中如何将dp,dip,sp与px相互转化
- Android 中像素px和dp的转化
- dp,sp,px之间的转化
- px dp相互转化
- 获取屏幕宽高,和dp,px,sp的转化工具类
- dp、sp转化为px
- px与dp的转化
- 一个dp与px相互转化的工具类
- dp转化为px的原因
- Android中dp和px的转化问题,以及如何获得手机分辨率和像素密度
- dp和px的转化
- dp px相互转化
- dp和px的相互转化