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


posted @ 2013-07-05 22:20  爱生活,爱编程  阅读(229)  评论(0编辑  收藏  举报