ステータスバーの高さを取得
2051 ワード
public static int getStatusHeight(Activity activity){
int statusHeight = 0;
Rect localRect = new Rect();
activity.getWindow().getDecorView(
).getWindowVisibleDisplayFrame(localRect);
statusHeight = localRect.top;
if (0 == statusHeight){
Class<?> localClass;
try {
localClass = Class.forName(
"com.android.internal.R$dimen");
Object localObject = localClass.newInstance();
int i5 = Integer.parseInt(
localClass.getField("status_bar_height").get(
localObject).toString());
statusHeight = activity.getResources(
).getDimensionPixelSize(i5);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
return statusHeight;
}