android dp与px之间转换以及px与sp之间的转换
2015-07-16 16:28
393 查看
DisplayUtil转换类
mainactivity
using System; namespace com.main { /// <summary> /// 像素转换类 /// </summary> public static class DisplayUtil { /// <summary> /// 将px值转换为dip或dp值,保证尺寸大小不变 /// </summary> /// <param name="pxValue">Px value.</param> /// <param name="scale">Scale.</param> public static int px2dip(float pxValue, float scale) { return (int) (pxValue / scale + 0.5f); } /// <summary> ///将dip或dp值转换为px值,保证尺寸大小不变 /// </summary> /// <param name="dipValue">Dip value.</param> /// <param name="scale">Scale.(DisplayMetrics类中属性density)</param> public static int dip2px(float dipValue, float scale) { return (int) (dipValue * scale + 0.5f); } /// <summary> /// 将px值转换为sp值,保证文字大小不变 /// </summary> /// <param name="pxValue">Px value.</param> /// <param name="fontScale">Font scale.</param> public static int px2sp(float pxValue, float fontScale) { return (int) (pxValue / fontScale + 0.5f); } /// <summary> /// 将sp值转换为px值,保证文字大小不变 /// </summary> /// <param name="spValue">Sp value.</param> /// <param name="fontScale">Font scale.</param> public static int sp2px(float spValue, float fontScale) { return (int) (spValue * fontScale + 0.5f); } } }
mainactivity
DisplayMetrics dm = new DisplayMetrics(); this.WindowManager.DefaultDisplay.GetMetrics(dm); fontscale = dm.ScaledDensity;//字体缩放比例 scale = dm.Density;//像素密度 //根据需要进行转换
相关文章推荐
- android 设备在设置节能模式的情况下 调用 Toast 会 唤醒屏幕 突然变亮
- Android Fragment 你应该知道的一切
- Android下如何把屏幕录制演示生成gif动态图
- Android之Service与Activity通信机制
- Android地图 获取经纬度计算距离介绍
- Android 特别大的Activity和Fragment的生命周期图
- Android使用TextView,设置onClick属性无效解决办法
- Android反编译工具使用
- html5模拟Android下拉刷新
- Android---利用Google的云消息
- Android-studio第一次开始跳过SDK下载
- Android触控基础:MotionEvent
- Android通过反射打造可以存储任何对象的万能SharedPreferences
- Windows环境下Android Studio安装教程
- android常用模式了解
- Android代码优化——使用Android lint工具
- android自定义View(三)——动画焦点框
- Android框架之快速开发框架xUtil
- Android 中一些常用而又容易忘记的
- Android 开发相关的Blog推荐——跟随大神的脚步才能成长为大神