转自:http://www.open-open.com/lib/view/open1392184864254.html
dp(dip): device independent pixels(设备独立像素).
px: pixels(像素).
pt: point,是一个标准的长度单位,1pt=1/72英寸
sp: scaled pixels(放大像素).
转换代码如下
-
-
-
-
-
-
- public class DisplayUtil {
- public static int px2dp(Context context, float pxValue) {
- final float scale = context.getResources().getDisplayMetrics().density;
- return (int) (pxValue / scale + 0.5f);
- }
- public static int dp2px(Context context, float dpValue) {
- final float scale = context.getResources().getDisplayMetrics().density;
- return (int) (dpValue * scale + 0.5f);
- }
- public static int px2sp(Context context, float pxValue) {
- final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
- return (int) (pxValue / fontScale + 0.5f);
- }
- public static int sp2px(Context context, float spValue) {
- final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
- return (int) (spValue * fontScale + 0.5f);
- }
- }