private void getStatusBarHeight() {
Class<?> c = null;
Object obj = null;
Field field = null;
int x = 0;
try {
c = Class.forName("com.android.internal.R$dimen");
obj = c.newInstance();
field = c.getField("status_bar_height");
DisplayMetrics dm = new DisplayMetrics();
} catch (Exception e) {
e.printStackTrace();
}
}
Class<?> c = null;
Object obj = null;
Field field = null;
int x = 0;
try {
c = Class.forName("com.android.internal.R$dimen");
obj = c.newInstance();
field = c.getField("status_bar_height");
x = Integer.parseInt(field.get(obj).toString());
/*状态栏高度*/
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
/*屏幕高度*/
} catch (Exception e) {
e.printStackTrace();
}
}
本文介绍了一种在Android应用中获取状态栏高度的方法。通过反射机制获取到系统的资源定义,并结合DisplayMetrics对象来计算出实际的屏幕可用高度。
3577

被折叠的 条评论
为什么被折叠?



