package com.lfk.justwetools.Utils; import android.content.Context; import android.util.TypedValue; /** * Created by liufengkai on 15/11/8. */ public class DisplayUtils { /** * px to dip 尺寸不变 * * @param context * @param pxValue * @return */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } /** * dip to px 尺寸不变 * * @param context * @param dipValue * @return */ public static int dip2px(Context context, float dipValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dipValue * scale + 0.5f); } /** * dp to px * * @param context * @param dp * @return */ public static int dp2px(Context context, int dp) { return (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics()); } /** * px to sp 文字不变 * * @param context * @param pxValue * @return */ public static int px2sp(Context context, float pxValue) { final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return (int) (pxValue / fontScale + 0.5f); } /** * sp to px 文字不变 * * @param context * @param spValue * @return */ public static int sp2px(Context context, float spValue) { final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return (int) (spValue * fontScale + 0.5f); } /** * sp to px * @param context * @param px * @return */ public static int sp2px(Context context, int px) { return (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, px, context.getResources().getDisplayMetrics()); } }