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


你可能感兴趣的:(android,dp,px,SP,dip)