android:dp,px,sp概念及之间转换
2016-04-14 23:19
561 查看
概念:
px(pixels):屏幕的像素点dpi(dot per inch):屏幕像素密度,每英寸多少像素
dp/dip(device independent pixels):设备独立像素,一个基于density的抽象单位。如果在一个160dpi的屏幕,1dp=1px。一般作为除文本以外的单位
sp(scaled pixels):同dp类似,一般作为文本的单位
转换
如果屏幕密度为160时,这时1dp = 1px转换公式:
dp = px / (dpi / 160); 若dpi = 160;即dp = px
px = dp * (dpi / 160);
px单位转换为dp单位
/** * 将px值转换为dp值 */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }
px单位转换为sp单位
/** * 将px值转换为sp值 */ public static int px2sp(Context context, float pxValue) { final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return (int) (pxValue / fontScale + 0.5f); }
dp单位转换为px单位
/** * dp转成px */ public static int dip2px(Context context, float dipValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dipValue * scale + 0.5f); }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories