ITPub博客

首页 > IT职业 > IT图书 > Android单位转换工具类

Android单位转换工具类

IT图书 作者:rikinglj 时间:2021-09-09 09:02:15 0 删除 编辑
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);
  }
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1870/viewspace-2807753/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    104
  • 访问量
    997