继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android单位转换工具类

jmesSehng
关注TA
已关注
手记 149
粉丝 424
获赞 5663
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);
  }
}
打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP

热门评论

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

查看全部评论