Android中如何將dp,dip,sp與px相互轉化

Android中有很多度量單位:比如常用的dp,dip,sp,px等,有時候需要將他們相互轉換,有下面非常方便的方法:

比如sp轉換成px:

       TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value, metric);

applyDimension函數原型如下:

float android.util.TypedValue.applyDimension(int unit, float value, DisplayMetrics metric)

可以通過一下方法獲取metric

        DisplayMetrics metric = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metric);

 

dp,dip的轉換可以通過修改unit為:

TypedValue.COMPLEX_UNIT_DIP,  TypedValue.COMPLEX_UNIT_DP

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *