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

來源:互聯網
上載者:User

標籤:

在預設情況下,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為單位的。

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.