zoukankan      html  css  js  c++  java
  • android px,dp,sp大小转换工具

    package com.voole.playerlib.util;
    
    import android.content.Context;
    
    /**
     * Android大小单位转换工具类<br/>
     * 
     * float scale = context.getResources().getDisplayMetrics().density;
     */
    public class DisplayUtil {
     /**
      * 将px值转换为dip或dp值,保证尺寸大小不变
      * 
      * @param pxValue
      * @param scale(DisplayMetrics类中属性density)
      * @return
      */
     public static float px2dip(float pxValue, float scale) {
      return  (pxValue / scale + 0.5f);
     }
     
     /**
      * 将px值转换为dip或dp值,保证尺寸大小不变
      * 
      * @param pxValue
      * @param context
      * @return
      */
     public static float px2dip(float pxValue,Context context) {
         float scale = context.getResources().getDisplayMetrics().density;
         return  px2dip( pxValue,  scale);
     }
    
     /**
      * 将dip或dp值转换为px值,保证尺寸大小不变
      * 
      * @param dipValue
      * @param scale(DisplayMetrics类中属性density)
      * @return
      */
     public static float dip2px(float dipValue, float scale) {
      return  (dipValue * scale + 0.5f);
     }
     
     /**
      * 将dip或dp值转换为px值,保证尺寸大小不变
      * 
      * @param dipValue
      * @param context 
      * @return
      */
     public static float dip2px(float dipValue, Context context) {
         float scale = context.getResources().getDisplayMetrics().density;
         return dip2px(dipValue, scale);
     }
    
     /**
      * 将px值转换为sp值,保证文字大小不变
      * 
      * @param pxValue
      * @param fontScale(DisplayMetrics类中属性scaledDensity)
      * @return
      */
     public static float px2sp(float pxValue, float fontScale) {
      return  (pxValue / fontScale + 0.5f);
     }
    
     /**
      * 将sp值转换为px值,保证文字大小不变
      * 
      * @param spValue
      * @param fontScale(DisplayMetrics类中属性scaledDensity)
      * @return
      */
     public static float sp2px(float spValue, float fontScale) {
      return  (spValue * fontScale + 0.5f);
     }
     /**
      * 将sp值转换为px值,保证文字大小不变
      * 
      * @param spValue
      * @param Context
      * @return
      */
     public static float sp2px(float spValue,Context context) {
         float scale = context.getResources().getDisplayMetrics().density;
         return  sp2px( spValue,  scale);
     }
    }

    感觉挺好用的

  • 相关阅读:
    经典算法以及案例总结
    supervisor的介绍
    快速排序算法
    mysql 省市联动sql 语句
    前段验证框架 formValidator
    css 之!important
    js 倒计时
    js 设置url 参数值
    java 获取指定日期
    js 日期控件laydate使用
  • 原文地址:https://www.cnblogs.com/yzjT-mac/p/6037519.html
Copyright © 2011-2022 走看看