溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android如何實現系統(tǒng)狀態(tài)欄的隱藏和顯示功能

發(fā)布時間:2021-04-17 09:44:15 來源:億速云 閱讀:753 作者:小新 欄目:移動開發(fā)

這篇文章給大家分享的是有關Android如何實現系統(tǒng)狀態(tài)欄的隱藏和顯示功能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

尤其視頻類APP,需要實現切換到橫屏后,隱藏系統(tǒng)狀態(tài)欄,全屏顯示,以實現看更大畫面的視頻。當切換回豎屏后,又顯示狀態(tài)欄。那么如何實現呢?

網上流傳著很多種做法。比如:

1、在AndroidManifest.xml文件中修改theme為android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”

2、在setContentView方法前執(zhí)行如下代碼:

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

3、通過View的setSystemUiVisibility方法

4、通過如下代碼實現狀態(tài)欄的隱藏和顯示:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //隱藏狀態(tài)欄 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //顯示狀態(tài)欄

在我的項目中是要實現如下需求:在當前Activity中,切換到橫屏后,不能銷毀Activity再重新初始化,并且實現隱藏系統(tǒng)狀態(tài)欄,全屏顯示;當切換回豎屏后,又顯示狀態(tài)欄。另外,我不需要隱藏標題欄。

 因此,方法1、2均不適合我。方法3,我采用過,調用setSystemUiVisibility方法,該方法傳入的參數可以為:

1.View.SYSTEM_UI_FLAG_VISIBLE:顯示狀態(tài)欄,Activity不全屏顯示(恢復到有狀態(tài)的正常情況)。
2.View.INVISIBLE:隱藏狀態(tài)欄,同時Activity會伸展全屏顯示。
3.View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏顯示,且狀態(tài)欄被隱藏覆蓋掉。
4.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏顯示,但狀態(tài)欄不會被隱藏覆蓋,狀態(tài)欄依然可見,Activity頂端布局部分會被狀態(tài)遮住。
5.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
6.View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
7.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隱藏虛擬按鍵(導航欄)。有些手機會用虛擬按鍵來代替物理按鍵。
8.View.SYSTEM_UI_FLAG_LOW_PROFILE:狀態(tài)欄顯示處于低能顯示狀態(tài)(low profile模式),狀態(tài)欄上一些圖標顯示會被隱藏。

這里我需要傳入的是View.SYSTEM_UI_FLAG_FULLSCREEN,可是當我傳入該參數后,結果是:只是狀態(tài)欄消失了,但是位置還在。(測試手機:華為榮耀8 系統(tǒng)是基于Android 7.0的EMUI 5.0;三星galaxy s6 系統(tǒng)是Android 6.0)

最后,使用方法4,成功滿足需求。

感謝各位的閱讀!關于“Android如何實現系統(tǒng)狀態(tài)欄的隱藏和顯示功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI