package me.xiaopan.sketchsample.util;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
public class DeviceUtils {
private static final String ATTR_NAME_STATUS_BAR_HEIGHT = "status_bar_height";
private static final String ATTR_NAME_NAVIGATION_BAR_HEIGHT = "navigation_bar_height";
private static final String ATTR_NAME_NAVIGATION_BAR_HEIGHT_LANDSCAPE = "navigation_bar_height_landscape";
public static int getStatusBarHeight(Resources resources) {
return getInternalDimensionSize(resources, ATTR_NAME_STATUS_BAR_HEIGHT);
}
public static int getNavigationBarHeight(Resources resources) {
if (resources.getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
return getInternalDimensionSize(resources, ATTR_NAME_NAVIGATION_BAR_HEIGHT);
} else if (resources.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
return getInternalDimensionSize(resources, ATTR_NAME_NAVIGATION_BAR_HEIGHT_LANDSCAPE);
} else {
return getInternalDimensionSize(resources, ATTR_NAME_NAVIGATION_BAR_HEIGHT);
}
}
private static int getInternalDimensionSize(Resources res, String key) {
int result = 0;
int resourceId = res.getIdentifier(key, "dimen", "android");
if (resourceId > 0) {
result = res.getDimensionPixelSize(resourceId);
}
return result;
}
}