标签:
package extra.util;import android.content.Context;import android.util.DisplayMetrics;import android.util.TypedValue;public class DensityUtil {/*** 根据手机的分辨率从 dp 的单位 转成为 px(像素)*/public static int dip2px(Context context, float dpValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (dpValue * scale + 0.5f);}/*** 根据手机的分辨率从 px(像素) 的单位 转成为 dp*/public static int px2dip(Context context, float pxValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (pxValue / scale + 0.5f);}private static float getPixelScaleFactor(Context context) {DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();return (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT);}private DensityUtil(){/* cannot be instantiated */throw new UnsupportedOperationException("cannot be instantiated");}/*** dp转px** @param context* @param val* @return*/public static int dp2px(Context context, float dpVal){return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,dpVal, context.getResources().getDisplayMetrics());}/*** sp转px** @param context* @param val* @return*/public static int sp2px(Context context, float spVal){return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,spVal, context.getResources().getDisplayMetrics());}/*** px转dp** @param context* @param pxVal* @return*/public static float px2dp(Context context, float pxVal){final float scale = context.getResources().getDisplayMetrics().density;LogUtil.e("density=" + scale);return (pxVal / scale);}/*** px转sp** @param fontScale* @param pxVal* @return*/public static float px2sp(Context context, float pxVal){return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);}}
标签:
原文地址:http://www.cnblogs.com/yutianran/p/5026407.html