Android 虛擬按鍵與沉浸式的適配方法
根據(jù)公司產(chǎn)品的要求,app要實(shí)現(xiàn)全屏模式,也就是4.4以后的所謂的沉浸式。
在values-v19和values-v21的styles里添加以下代碼,實(shí)現(xiàn)19以上的系統(tǒng)的沉浸式:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar.TranslucentDecor"> <item name="android:windowTranslucentStatus">true</item> <item name="android:windowTranslucentNavigation">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:statusBarColor">@android:color/transparent</item> </style>
TranslucentDecor,是KitKat及以上版本加入的theme包,用于把布局頂?shù)綘顟B(tài)欄(Status Bar)和導(dǎo)航欄(Navigation Bar)上,擴(kuò)展屏幕高度。這樣,只要我們把Status Bar和Navigation Bar的顏色設(shè)置成透明,那就可以實(shí)現(xiàn)app的全屏而又不影響狀態(tài)欄和導(dǎo)航欄了。如圖:
那么,問(wèn)題來(lái)了。加入直接這樣設(shè)置,手機(jī)使用虛擬按鍵的,像華為各種型號(hào)的手機(jī),布局和Navigation Bar會(huì)重疊導(dǎo)致沖突,比如這樣:
而且,不適配4.4以下的系統(tǒng)。
為了解決問(wèn)題,查看了很多資料,也自己嘗試了一下,發(fā)現(xiàn)很多方法都不適合。后來(lái)嘗試了一下,低于4.4的版本,也就是values下的styles,直接把parent的值,設(shè)置成NoTitleBar或者其它的兼容4.4以下版本的Theme(當(dāng)然,4.4以下的系統(tǒng),沒(méi)辦法實(shí)現(xiàn)沉浸式),然后values-v19和v21的保持TranslucentDecort實(shí)現(xiàn)沉浸式。
看了很多網(wǎng)友的資料,有人嘗試在layout的總布局里設(shè)置android:fitsSystemWindows="true",但這樣子Status Bar也就廢了,這不是我們想要的。
把values-v19和v21的styles里的
<item name="android:windowTranslucentNavigation">false</item>
設(shè)置成false,嘗試了一下,成功了。帶有虛擬按鍵的系統(tǒng),自動(dòng)把布局頂上去了。
以上這篇Android 虛擬按鍵與沉浸式的適配方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Android實(shí)現(xiàn)狀態(tài)欄和虛擬按鍵背景顏色的變化實(shí)例代碼詳解
- Android隱藏手機(jī)底部虛擬按鍵的方法
- Android實(shí)現(xiàn)隱藏手機(jī)底部虛擬按鍵
- Android實(shí)現(xiàn)手機(jī)游戲隱藏虛擬按鍵
- Android 虛擬按鍵適配動(dòng)態(tài)調(diào)整布局的方法
- Android適配底部虛擬按鍵的方法詳解
- android底層去掉虛擬按鍵的實(shí)例講解
- Android dialog 去除虛擬按鍵的解決方法
- 解決Android 虛擬按鍵遮住了頁(yè)面內(nèi)容的問(wèn)題
- Android如何解決虛擬按鍵欄遮擋問(wèn)題
相關(guān)文章
android實(shí)現(xiàn)RecyclerView列表單選功能
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)RecyclerView列表單選功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07在AndroidManifest.xml中uses-sdk內(nèi)屬性意思
本文為大家講解下minSdkVersion、targetSdkVersion、maxSdkVersion、target API level四個(gè)數(shù)值的意思與區(qū)別,感興趣的朋友可以參考下哈2013-06-06Android ProgressBar直線進(jìn)度條的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了android progressbar直線進(jìn)度條的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-06-06Android編程實(shí)現(xiàn)在自定義對(duì)話(huà)框中獲取EditText中數(shù)據(jù)的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)在自定義對(duì)話(huà)框中獲取EditText中數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了Android對(duì)話(huà)框數(shù)據(jù)傳遞相關(guān)操作技巧,需要的朋友可以參考下2018-01-01Android編程實(shí)現(xiàn)壓縮圖片并加載顯示的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)壓縮圖片并加載顯示的方法,涉及Android開(kāi)發(fā)中圖片的運(yùn)算、壓縮處理操作及界面布局顯示壓縮圖片等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-10-10用xutils3.0進(jìn)行下載項(xiàng)目更新
這篇文章主要介紹了用xutils3.0進(jìn)行下載項(xiàng)目更新的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08Android自定義view繪制圓環(huán)占比動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了Android自定義view繪制圓環(huán)占比動(dòng)畫(huà),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android中顯示GIF動(dòng)畫(huà)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android中顯示GIF動(dòng)畫(huà)的實(shí)現(xiàn)代碼,較為詳細(xì)的分析了Android調(diào)用GIF動(dòng)畫(huà)所涉及的頁(yè)面布局及功能實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10