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 }
  • 相关阅读:
    centos 搭建 sftp 服务器
    apt-get 安装时,提示lock被占用
    Kafka
    设计模式-分类
    SparkSQL – 从0到1认识Catalyst
    Spark分布式计算引擎
    Spark存储管理
    Spart RDD
    硬件工程师的你也不想一辈子画图、调板子吧!!!
    如何理解IPD+CMMI+Scrum一体化研发管理解决方案之Scrum篇
  • 原文地址:https://www.cnblogs.com/renzimu/p/4535622.html
Copyright © 2011-2022 走看看