android通过反射获取状态栏的高度

来源:互联网 发布:淘宝买dota2饰品流程 编辑:程序博客网 时间:2024/05/02 06:44
/**
* 获取状态栏高度

* @param activity
* @return
*/
public int getStatusHeight(Activity activity) {
int statusHeight = 0;
Rect rect = new Rect();
activity.getWindow().getDecorView()
.getWindowVisibleDisplayFrame(rect);
statusHeight = rect.top;
if (0 == statusHeight) {
Class<?> localClass;
try {
localClass = Class.forName("com.android.internal.R$dimen");
Object object = localClass.newInstance();
int height = Integer.parseInt(localClass
.getField("status_bar_height").get(object)
.toString());
statusHeight = activity.getResources()
.getDimensionPixelSize(height);
} catch (Exception e) {
e.printStackTrace();
}
}
return statusHeight;
}
0 0
原创粉丝点击