注意:获取状态栏高度和标题栏高度,应该在onResume()方法之后获取,在onResume中及之前取得都是为0。
一般我们在onWindowFocus()方法中获取
下面贴代码具体代码:
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
// 获取状态栏的高度
Rect rect = new Rect();
//通过DecorView获取显示状态栏高度
getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
int statusbar = rect.top;
System.out.println("statusbar=" + statusbar);
//对应布局的视图的高度top坐标 - 状态栏的高度
View view = getWindow().findViewById(Window.ID_ANDROID_CONTENT);
int top = view.getTop();
int titlebar = top - statusbar;
System.out.println("titlebar="+titlebar);
}