package com.yuyh.library.utils; import android.content.Context; import android.util.DisplayMetrics; import com.yuyh.library.AppUtils; /** * @author yuyh. * @date 16/4/10. */ public class DimenUtils { public enum EScreenDensity { XXHDPI, //超高分辨率 1080×1920 XHDPI, //超高分辨率 720×1280 HDPI, //高分辨率 480×800 MDPI, //中分辨率 320×480 } public static EScreenDensity getDisply(Context context) { EScreenDensity eScreenDensity; //初始化屏幕密度 DisplayMetrics dm = context.getApplicationContext().getResources().getDisplayMetrics(); int densityDpi = dm.densityDpi; if (densityDpi <= 160) { eScreenDensity = EScreenDensity.MDPI; } else if (densityDpi <= 240) { eScreenDensity = EScreenDensity.HDPI; } else if (densityDpi < 400) { eScreenDensity = EScreenDensity.XHDPI; } else { eScreenDensity = EScreenDensity.XXHDPI; } return eScreenDensity; } /** * 获取屏幕宽度 * * @return */ public static int getScreenWidth() { return AppUtils.getAppContext().getResources().getDisplayMetrics().widthPixels; } /** * 获取屏幕高度 * * @return */ public static int getScreenHeight() { return AppUtils.getAppContext().getResources().getDisplayMetrics().heightPixels; } /** * 将dp转换成px * * @param dp * @return */ public static float dpToPx(float dp) { return dp * AppUtils.getAppContext().getResources().getDisplayMetrics().density; } public static int dpToPxInt(float dp) { return (int) (dpToPx(dp) + 0.5f); } /** * 将px转换成dp * * @param px * @return */ public static float pxToDp(float px) { return px / AppUtils.getAppContext().getResources().getDisplayMetrics().density; } public static int pxToDpInt(float px) { return (int) (pxToDp(px) + 0.5f); } /** * 将px值转换为sp值 * * @param pxValue * @return */ public static float pxToSp(float pxValue) { return pxValue / AppUtils.getAppContext().getResources().getDisplayMetrics().scaledDensity; } /** * 将sp值转换为px值 * * @param spValue * @return */ public static float spToPx(float spValue) { return spValue * AppUtils.getAppContext().getResources().getDisplayMetrics().scaledDensity; } }