1. 程式人生 > >android中px,sp,dp之間相互轉化的工具類

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