通過setSystemUiVisibility實現狀態欄跟Activity之間的位置關係

    以前說到去除狀態欄和標題欄總會用到動態代碼的方式實現:

getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN);  
requestWindowFeature(Window.FEATURE_NO_TITLE);   

   但是在項目開發中,在收集資料時突然找到了一個很好用的API,這個API是 setSystemUiVisibility();  

基本上可以定義爲狀態欄和Activity之間的位置關係。 其動態隱藏和顯示狀態欄的方式如下:


 setSystemUiVisibility(int visibility)傳入的實參類型如下:

1.View.SYSTEM_UI_FLAG_VISIBLE :狀態欄和Activity共存,Activity不全屏顯示。也就是應用平常的顯示畫面

2.View.SYSTEM_UI_FLAG_FULLSCREEN :Activity全屏顯示,且狀態欄被覆蓋掉

3. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN :Activity全屏顯示,但是狀態欄不會被覆蓋掉,而是正常顯示,只是Activity頂端布   局會被覆蓋住

4.View.INVISIBLE : Activity全屏顯示,隱藏狀態欄

最基本的用法也就這四個了,其實還有一些實參類型沒描述,估摸着現實開發需求也不一定會用到,也沒必要去理解了,到時遇到需要的,再查下文檔用法就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章