package com.anthony.imagepicker; import android.app.Activity; import android.content.Context; import android.os.Environment; import android.util.DisplayMetrics; /** * ================================================ * 作 者:jeasonlzy(廖子尧 Github地址:https://github.com/jeasonlzy0216 * 版 本:1.0 * 创建日期:2016/5/19 * 描 述: * 修订历史: * ================================================ */ public class Utils { /** 获得状态栏的高度 */ public static int getStatusHeight(Context context) { int statusHeight = -1; try { Class<?> clazz = Class.forName("com.android.internal.R$dimen"); Object object = clazz.newInstance(); int height = Integer.parseInt(clazz.getField("status_bar_height").get(object).toString()); statusHeight = context.getResources().getDimensionPixelSize(height); } catch (Exception e) { e.printStackTrace(); } return statusHeight; } /** 根据屏幕宽度与密度计算GridView显示的列数, 最少为三列,并获取Item宽度 */ public static int getImageItemWidth(Activity activity) { int screenWidth = activity.getResources().getDisplayMetrics().widthPixels; int densityDpi = activity.getResources().getDisplayMetrics().densityDpi; int cols = screenWidth / densityDpi; cols = cols < 3 ? 3 : cols; int columnSpace = (int) (2 * activity.getResources().getDisplayMetrics().density); return (screenWidth - columnSpace * (cols - 1)) / cols; } /** * 判断SDCard是否可用 */ public static boolean existSDCard() { return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); } /** * 获取手机大小(分辨率) */ public static DisplayMetrics getScreenPix(Activity activity) { DisplayMetrics displaysMetrics = new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(displaysMetrics); return displaysMetrics; } }