1.获取状态栏高度:
decorview是window中的最顶层view,可以从window中获取到decorview,然后decorview有个getwindowvisibledisplayframe方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。
于是,我们就可以算出状态栏的高度了。
2.获取标题栏高度:
getwindow().findviewbyid(window.id_android_content)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。
decorview是window中的最顶层view,可以从window中获取到decorview,然后decorview有个getwindowvisibledisplayframe方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。
于是,我们就可以算出状态栏的高度了。
rect frame = new rect(); getwindow().getdecorview().getwindowvisibledisplayframe(frame); int statusbarheight = frame.top;
rect frame = new rect(); getwindow().getdecorview().getwindowvisibledisplayframe(frame); int statusbarheight = frame.top;
2.获取标题栏高度:
getwindow().findviewbyid(window.id_android_content)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。
int contenttop = getwindow().findviewbyid(window.id_android_content).gettop(); //statusbarheight是上面所求的状态栏的高度 int titlebarheight = contenttop - statusbarheight
int contenttop = getwindow().findviewbyid(window.id_android_content).gettop(); //statusbarheight是上面所求的状态栏的高度 int titlebarheight = contenttop - statusbarheight