Android中dp和px之间进行转换的代码
2016-05-27 15:59
525 查看
http://www.educity.cn/develop/1379847.html
在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设置dp的话,就要将dp转换成px了。
以下是一个应用类,方便进行px和dp之间的转换。
import android.content.Context;
publicclass DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
publicstaticint dip2px(Context context, float dpValue) {
finalfloat scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
publicstaticint px2dip(Context context, float pxValue) {
finalfloat scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设置dp的话,就要将dp转换成px了。
以下是一个应用类,方便进行px和dp之间的转换。
import android.content.Context;
publicclass DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
publicstaticint dip2px(Context context, float dpValue) {
finalfloat scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
publicstaticint px2dip(Context context, float pxValue) {
finalfloat scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
相关文章推荐
- Android EditView用法小结
- Android Library项目注意事项
- Android 自定义控件---SpreadView
- android api 中setVisibility( )的用法(可显示或隐藏布局或控件...)
- Android 5.0+ 解析(五)FloatingActionButton控件
- CaysnPrinter打印示例 - Sample1 For Android
- Android 5.0+ 解析(四)Toolbar控件
- Android 探究 LayoutInflater setFactory
- android关机流程-framework部分
- Android 5.0+ 解析(三)Palette类
- Android获取系统应用包名
- android分析之自定义圆形头像
- android设置中常用的PreferenceActivity用法介绍
- Android 5.0+ 解析(二)CardView控件
- Android Template(模板) 编写(一)
- android自定义控件学习【1】----自定义卡券View
- Android 进程间通信,基于Messeger(IPC)
- Windows下Cordova环境搭建及如何用android studio导入cordova项目生成apk
- PNG格式图片原理
- 【android随笔】工具类整理--两次点击BACK键,退出应用的实现