尺寸相关的工具类DensityUtils

时间:2015-03-29 16:33:29   收藏:0   阅读:270
package com.flyou.utils;


import android.content.Context;
import android.util.TypedValue;


/**
 * 常用单位转换的辅助类
 * 
 * 
 * 
 */
public class DensityUtils {
  private DensityUtils() {
    throw new UnsupportedOperationException("cannot be instantiated");
  }


  /**
   * dp转px
   * 
   * @param context
   * @param val
   * @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 val
   * @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 fontScale
   * @param pxVal
   * @return
   */
  public static float px2sp(Context context, float pxVal) {
    return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
  }


}

   

原文:http://blog.csdn.net/u013616976/article/details/44727749

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!