以前說到去除狀態欄和標題欄總會用到動態代碼的方式實現:
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全屏顯示,隱藏狀態欄
最基本的用法也就這四個了,其實還有一些實參類型沒描述,估摸着現實開發需求也不一定會用到,也沒必要去理解了,到時遇到需要的,再查下文檔用法就行了。