如何获取StatusBar的高度(Android平台)

在默认情况下,StatusBar的高度是25dip,这个值是不会变的,不管你的屏幕是240*320的还是600*800的或者还是其它分辨率的,StatusBar的高度都是25dip。
也许有的同学会说,怎么可能嘛,值600*800的设备上StatusBar的高度明显要高很多嘛! 
不错,值600*800这样的设备上,StatusBar的高度看起来确实比240*320的屏幕上高很多,但是它的的确确也是25dip,只不过此时它并不是25px。

在240*320分辨率的设备上,25dip,在设备上显示的时候,它的长度或者说高度就是25个像素,也就是25px;但是在600*800的设备上,这25dip就不再是25px了。
下面来教大家如何取得在不同设备上的这个高度。其实非常简单:

DisplayMetrics metrics = getResources().getDisplayMetrics();
int STATUS_BAR_HEIGHT = (int) Math.ceil( 25 * metrics.density);

实际上,我们要做的就是把这个25dip的高度转换成px即可,因为我们在代码里需要的高度都是以px为单位的。

posted @ 2016-01-04 11:08  weidingqiang  阅读(1195)  评论(0编辑  收藏  举报