手记

Android单位转换工具类

Android单位转换工具类

Android单位转换工具类主要由以下4部分构成

1.这个类不能被初始化
2.dip转px接口
3.sp转px接口
4.px转dip接口
代码如下:

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

/**
 * Android单位转换工具类
 *
 * @author joyliu
 */
public class DensityUtil {

  /**
   * 不能初始化这个类
   */
  private DensityUtil() {
    throw new IllegalStateException("Do not instance”);
  }

  /**
   * dip转换px
   *
   * @param context 上下文
   * @param dpValue dip值
   * @return px值
   */
  public static int dip2px(Context context, float dpValue) {
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int) (dpValue * scale + 0.5f);
  }

  /**
   * sp转pd
   *
   * @param context 上下文
   * @param spValue sp值
   * @return px值
   */
  public static int sp2px(Context context, float spValue) {
    return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spValue,
        context.getResources().getDisplayMetrics());
  }

  /**
   * px转换dip
   *
   * @param context 上下文
   * @param pxValue px值
   * @return dip值
   */
  public static int px2dip(Context context, float pxValue) {
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int) (pxValue / scale + 0.5f);
  }
}
2人推荐
随时随地看视频
慕课网APP

热门评论

这个工具经常被使用,封装一下~

查看全部评论