android中px,sp,dp之间相互转化的工具类

在平时开发中,难免遇到需要在代码里对尺寸进行转化的问题,在这里总结一下,方便以后调用

public class DensityUtil {

   /**
     * dp转换成px
     */
    private int dp2px(Context context,float dpValue){
        float scale=context.getResources().getDisplayMetrics().density;
        return (int)(dpValue*scale+0.5f);
    }

    /**
     * px转换成dp
     */
    private int px2dp(Context context,float pxValue){
        float scale=context.getResources().getDisplayMetrics().density;
        return (int)(pxValue/scale+0.5f);
    }
    /**
     * sp转换成px
     */
    private int sp2px(Context context,float spValue){
        float fontScale=context.getResources().getDisplayMetrics().scaledDensity;
        return (int) (spValue*fontScale+0.5f);
    }
    /**
     * px转换成sp
     */
    private int px2sp(Context context,float pxValue){
        float fontScale=context.getResources().getDisplayMetrics().scaledDensity;
        return (int) (pxValue/fontScale+0.5f);
    }
}

  原文来自:--------------------- 
  https://blog.csdn.net/qidingquan/article/details/53714603?utm_source=copy 
 

猜你喜欢

转载自blog.csdn.net/qq_31490071/article/details/83089832
今日推荐