package com.lfk.justwetools.View.ClassTable; import android.app.Activity; import android.content.Context; import android.view.WindowManager; public class DensityUtil { public static int getScreenWidth(Activity context) { return getScreenParams(context)[0]; } public static int getScreenHeight(Activity context) { return getScreenParams(context)[1]; } @SuppressWarnings("deprecation") private static int[] getScreenParams(Activity mContext) { WindowManager wm = mContext.getWindowManager(); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight(); return new int[]{ width, height }; } /** * 根据手机的分辨率从 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); } /** * 将px值转换为sp值,保证文字大小不变 * * @param pxValue * (DisplayMetrics类中属性scaledDensity) * @return */ public static int px2sp(float pxValue, Context context) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } /** * 将sp值转换为px值,保证文字大小不变 * * @param spValue * (DisplayMetrics类中属性scaledDensity) * @return */ public static int sp2px(float spValue, Context context) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (spValue * scale + 0.5f); } }