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