zoukankan      html  css  js  c++  java
  • Android 开发工具类 02_DensityUtils

    常用单位转换的辅助类:

    1、dp 转 px;

    2、sp 转 px;

    3、px 转 dp;

    4、px 转 sp。

     1 import android.content.Context;
     2 import android.util.TypedValue;
     3 
     4 // 常用单位转换的辅助类
     5 public class DensityUtils
     6 {
     7     private DensityUtils()
     8     {
     9         /* cannot be instantiated */
    10         throw new UnsupportedOperationException("cannot be instantiated");
    11     }
    12 
    13     /**
    14      * dp 转 px
    15      * 
    16      * @param context
    17      * @param val
    18      * @return
    19      */
    20     public static int dp2px(Context context, float dpVal)
    21     {
    22         return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
    23                 dpVal, context.getResources().getDisplayMetrics());
    24     }
    25 
    26     /**
    27      * sp 转 px
    28      * 
    29      * @param context
    30      * @param val
    31      * @return
    32      */
    33     public static int sp2px(Context context, float spVal)
    34     {
    35         return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
    36                 spVal, context.getResources().getDisplayMetrics());
    37     }
    38 
    39     /**
    40      * px 转 dp
    41      * 
    42      * @param context
    43      * @param pxVal
    44      * @return
    45      */
    46     public static float px2dp(Context context, float pxVal)
    47     {
    48         final float scale = context.getResources().getDisplayMetrics().density;
    49         return (pxVal / scale);
    50     }
    51 
    52     /**
    53      * px 转 sp
    54      * 
    55      * @param fontScale
    56      * @param pxVal
    57      * @return
    58      */
    59     public static float px2sp(Context context, float pxVal)
    60     {
    61         return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
    62     }
    63 
    64 }
  • 相关阅读:
    慎用静态类static class
    20170617
    学习笔记之工厂模式-2017年1月11日23:00:53
    链表翻转
    面试被虐
    tips
    依赖注入那些事儿
    浅谈算法和数据结构(1):栈和队列
    猫都能学会的Unity3D Shader入门指南(一)
    SerializeField等Unity内的小用法
  • 原文地址:https://www.cnblogs.com/renzimu/p/4535622.html
Copyright © 2011-2022 走看看