zoukankan      html  css  js  c++  java
  • Android单位转换 (px、dp、sp之间的转换工具类)

       在Android开发中,涉及到屏幕视频问题的时候,px、dp、sp之间的转换比较重要的一部分,所以杨哥整理了一个工具类给大伙用。

    package com.zw.express.tool;


    import android.content.Context;
    import android.util.DisplayMetrics;
    /**
     * ydc
     * @author Administrator
     *
     */
    public class DensityUtils {
     /**
         * 根据手机的分辨率从 dip 的单位 转成为 px(像素)
         */
    public static int dp2px(Context context, float dpValue) {
    DisplayMetrics dm = context.getResources().getDisplayMetrics();
    final float scale = dm.density;
    return (int) (dpValue * scale + 0.5f);
    }


    /**
         * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
         */
    public static float px2dp(Context context, float pxValue) {
    DisplayMetrics dm = context.getResources().getDisplayMetrics();
    final float scale = dm.density;
    return (pxValue - 0.5f)/scale ; 
    }


     /**
         * 将px值转换为sp值,保证文字大小不变
         */
    public static int px2sp(Context context, float pxValue) { 
    final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; 
    return (int) (pxValue / fontScale + 0.5f); 



    /**
         * 将sp值转换为px值,保证文字大小不变
         */
    public static int sp2px(Context context, float spValue) { 
    final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; 
    return (int) (spValue * fontScale + 0.5f); 

    }

  • 相关阅读:
    最小生成树的解法
    51nod 1212 无向图最小生成树
    greater()和less()的使用
    51nod1183 编辑距离
    51nod 1181 质数中的质数(质数筛法)
    upper_bound和lower_bound的用法
    线段树最全模板
    bryce1010专题训练——线段树习题汇总
    51nod 1174 区间中最大的数
    51nod 1113 矩阵快速幂
  • 原文地址:https://www.cnblogs.com/xinanheishao/p/7011386.html
Copyright © 2011-2022 走看看