#Anroid常用单位转换的辅助类DensityUtils
来源:互联网 发布:python技术手册第三版 编辑:程序博客网 时间:2024/05/16 18:40
Anroid常用单位转换的辅助类DensityUtils
dip、px、dp、sp的相互转换
/** * :常用单位转换的辅助类 */public class DensityUtils { private DensityUtils() { throw new UnsupportedOperationException("cannot be instantiated"); } /** * 根据手机的分辨率从 dip 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } /** * dp转px * * @param context * @param dpVal * @return */ public static int dp2px(Context context, float dpVal) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpVal, context.getResources().getDisplayMetrics()); } /** * sp转px * * @param context * @param spVal * @return */ public static int sp2px(Context context, float spVal) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spVal, context.getResources().getDisplayMetrics()); } /** * px转dp * * @param context * @param pxVal * @return */ public static float px2dp(Context context, float pxVal) { final float scale = context.getResources().getDisplayMetrics().density; return (pxVal / scale); } /** * px转sp * * @param pxVal * @param pxVal * @return */ public static float px2sp(Context context, float pxVal) { return (pxVal / context.getResources().getDisplayMetrics().scaledDensity); }}
一般的,px和sp的转换是用得较多的,因为布局中大部分单位都是用dp,而在代码中的默认数字的单位是px,所有要用相同长度的dp转换为px,才能和布局中的长度对应。
使用起来也是很简单的,比如将dp转换为px
int width=DensityUtils.dp2px(this,20);//在Activity中,或者这里的上下文可以使用App中的
共勉:天生我材必有用,千金善尽还复来。
阅读全文
1 0
- #Anroid常用单位转换的辅助类DensityUtils
- Android DensityUtils-常用单位转换的辅助类
- 手机常用单位转换的辅助类 → DensityUtils
- 单位转换类 DensityUtils
- Util:常用单位转换的辅助类
- 常用单位转换的辅助类
- Android常用辅助类之单位转换的辅助类
- 常用工具类(日志、Toast、SPUtils、单位转换类、 DensityUtils、SDCardUtils、ScreenU、App相关辅助类、KeyBoardUtils、NetUtils、Http)
- 安卓工具类------>常用单位转换的辅助类
- Anroid常用的辅助类(一)——网络相关
- Android工具类之dp,sp,px单位转换类 DensityUtils
- 常用单位转换的工具类
- 尺寸相关的工具类DensityUtils
- android中常用的单位转换
- 【常用工具类】DensityUtils(dp px 互相转换)
- Android工具类--常用单位转换类
- DensityUtils
- DensityUtils
- 虚拟网络知识总结
- 好像蛮有道理的啊
- 【性能测试】-测试数据准备
- 数据库优化理论 —— 查询优化技术
- redis:hash数据类型与操作
- #Anroid常用单位转换的辅助类DensityUtils
- Timer定时器使用说明
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- 获取系统里面的所有字体
- struts2、hibernate、spring
- 高并发编程必备基础
- redis 单机或集群 设置密码
- 我的第一篇CSDN博客文章
- spring配置线程池