Android px、dp、sp之间相互转换
2016-03-14 15:03
453 查看
直接上代码,一个工具类
public class DisplayUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param scale * (DisplayMetrics类中属性density) * @return */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } /** * 将dip或dp值转换为px值,保证尺寸大小不变 * * @param dipValue * @param scale * (DisplayMetrics类中属性density) * @return */ public static int dip2px(Context context, float dipValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dipValue * scale + 0.5f); } /** * 将px值转换为sp值,保证文字大小不变 * * @param pxValue * @param fontScale * (DisplayMetrics类中属性scaledDensity) * @return */ public static int px2sp(Context context, float pxValue) { final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return (int) (pxValue / fontScale + 0.5f); } /** * 将sp值转换为px值,保证文字大小不变 * * @param spValue * @param fontScale * (DisplayMetrics类中属性scaledDensity) * @return */ public static int sp2px(Context context, float spValue) { final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return (int) (spValue * fontScale + 0.5f); } }
相关文章推荐
- Android之崩溃日志本地存储与远程保存
- Android Material Design
- android开发环境的搭建
- Android LaunchMode案例篇
- android-smart-image-view源码分析
- Android应用签名
- Android SDK Samples,学习Android的好方法
- [转]AndroidStudio 优秀插件汇总转
- android graphic(13)—surface flinger中的“事务”
- Android代码中自己写的一些工具类(整理)
- 解决android FragmentTabHost + viewpager + fragment 嵌套布局切换出现白屏什么都没有问题
- Android riple material 点击水波纹效果
- Android学习之跨进程通信安卓接口定义语言AIDL(二)
- Android之Adapter结构
- Android中使用DownloadManager进行下载操作
- Android布局学习笔记
- 源码解析Android中View的measure量算过程
- Android 关于热点的操作
- Android 5.x特性概览五
- Android分包MultiDex原理详解