package com.team.zhuoke.utils;
import android.app.Activity;
import android.content.Context;
import android.util.DisplayMetrics;
import android.view.Window;
import java.lang.reflect.Field;
/**
* @author: 范建海
* @createTime: 2016/10/30 14:06
* @className: ScreenUtil
* @description: 获取屏幕信息工具类
* @changed by:
*/
public class ScreenUtil {
/**
* 获得屏幕宽度,单位px
*
* @param context 上下文
* @return 屏幕宽度
*/
public static int getScreenWidth(Context context) {
DisplayMetrics dm = context.getResources().getDisplayMetrics();
return dm.widthPixels;
}
/**
* 获得屏幕高度
*
* @param context 上下文
* @return 屏幕高度
*/
public static int getScreenHeight(Context context) {
DisplayMetrics dm = context.getResources().getDisplayMetrics();
return dm.heightPixels;
}
/**
* 获取通知栏高度
*
* @param context 上下文
* @return 通知栏高度
*/
public static int getStatusBarHeight(Context context) {
int statusBarHeight = 0;
try {
Class<?> clazz = Class.forName("com.android.internal.R$dimen");
Object obj = clazz.newInstance();
Field field = clazz.getField("status_bar_height");
int temp = Integer.parseInt(field.get(obj).toString());
statusBarHeight = context.getResources().getDimensionPixelSize(temp);
} catch (Exception e) {
e.printStackTrace();
}
return statusBarHeight;
}
/**
* 获得标题栏高度
*
* @param context 上下文,为Activity对象
* @return 标题栏高度
*/
public static int getTitleBarHeight(Activity context) {
int contentTop = context.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
return contentTop - getStatusBarHeight(context);
}
}