Android實(shí)現(xiàn)系統(tǒng)狀態(tài)欄的隱藏和顯示功能
尤其視頻類APP,需要實(shí)現(xiàn)切換到橫屏后,隱藏系統(tǒng)狀態(tài)欄,全屏顯示,以實(shí)現(xiàn)看更大畫面的視頻。當(dāng)切換回豎屏后,又顯示狀態(tài)欄。那么如何實(shí)現(xiàn)呢?
網(wǎng)上流傳著很多種做法。比如:
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、通過如下代碼實(shí)現(xiàn)狀態(tài)欄的隱藏和顯示:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //隱藏狀態(tài)欄 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //顯示狀態(tài)欄
在我的項(xiàng)目中是要實(shí)現(xiàn)如下需求:在當(dāng)前Activity中,切換到橫屏后,不能銷毀Activity再重新初始化,并且實(shí)現(xiàn)隱藏系統(tǒng)狀態(tài)欄,全屏顯示;當(dāng)切換回豎屏后,又顯示狀態(tài)欄。另外,我不需要隱藏標(biāo)題欄。
因此,方法1、2均不適合我。方法3,我采用過,調(diào)用setSystemUiVisibility方法,該方法傳入的參數(shù)可以為:
1.View.SYSTEM_UI_FLAG_VISIBLE:顯示狀態(tài)欄,Activity不全屏顯示(恢復(fù)到有狀態(tài)的正常情況)。
2.View.INVISIBLE:隱藏狀態(tài)欄,同時(shí)Activity會(huì)伸展全屏顯示。
3.View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏顯示,且狀態(tài)欄被隱藏覆蓋掉。
4.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏顯示,但狀態(tài)欄不會(huì)被隱藏覆蓋,狀態(tài)欄依然可見,Activity頂端布局部分會(huì)被狀態(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:隱藏虛擬按鍵(導(dǎo)航欄)。有些手機(jī)會(huì)用虛擬按鍵來代替物理按鍵。
8.View.SYSTEM_UI_FLAG_LOW_PROFILE:狀態(tài)欄顯示處于低能顯示狀態(tài)(low profile模式),狀態(tài)欄上一些圖標(biāo)顯示會(huì)被隱藏。
這里我需要傳入的是View.SYSTEM_UI_FLAG_FULLSCREEN
,可是當(dāng)我傳入該參數(shù)后,結(jié)果是:只是狀態(tài)欄消失了,但是位置還在。(測(cè)試手機(jī):華為榮耀8 系統(tǒng)是基于Android 7.0的EMUI 5.0;三星galaxy s6 系統(tǒng)是Android 6.0)
最后,使用方法4,成功滿足需求。
總結(jié)
以上所述是小編給大家介紹的Android實(shí)現(xiàn)系統(tǒng)狀態(tài)欄的隱藏和顯示功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android下拉阻尼效果實(shí)現(xiàn)原理及簡(jiǎn)單實(shí)例
這篇文章主要為大家詳細(xì)介紹了Android下拉阻尼效果實(shí)現(xiàn)原理及簡(jiǎn)單實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Android中判斷網(wǎng)絡(luò)連接是否可用的方法總結(jié)
這篇文章主要介紹了Android中判斷網(wǎng)絡(luò)連接是否可用的方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-04-04Android垂直滾動(dòng)控件ScrollView使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android垂直滾動(dòng)控件ScrollView的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android中的人臉檢測(cè)的示例代碼(靜態(tài)和動(dòng)態(tài))
本篇文章主要介紹了Android中的人臉檢測(cè)的示例代碼(靜態(tài)和動(dòng)態(tài)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01Android鬧鈴服務(wù)AlarmManager用法深入分析
這篇文章主要介紹了Android鬧鈴服務(wù)AlarmManager用法,結(jié)合實(shí)例形式深入分析了鬧鈴服務(wù)AlarmManager的功能、原理、定義與使用方法,需要的朋友可以參考下2016-08-08Android+SQLite數(shù)據(jù)庫實(shí)現(xiàn)的生詞記事本功能實(shí)例
這篇文章主要介紹了Android+SQLite數(shù)據(jù)庫實(shí)現(xiàn)的生詞記事本功能,結(jié)合具體實(shí)例形式分析了Android操作SQLite數(shù)據(jù)庫實(shí)現(xiàn)生詞記錄功能的操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-09-09Android 異步獲取網(wǎng)絡(luò)圖片并處理導(dǎo)致內(nèi)存溢出問題解決方法
Android異步獲取網(wǎng)絡(luò)圖片并處理圖片Out Of Memory內(nèi)存溢出如何解決呢?本文介紹了操作步驟,感興趣的朋友可以了解下或許對(duì)你有所幫助2013-02-02Android沉浸式頂部實(shí)現(xiàn)代碼及效果
這篇文章主要介紹了Android沉浸式頂部實(shí)現(xiàn)代碼及效果,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09非常詳細(xì)的android so庫逆向調(diào)試教程
這篇文章主要給大家介紹了關(guān)于android so庫逆向調(diào)試的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細(xì),對(duì)各位Android開發(fā)者具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-08-08