欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 虛擬按鍵與沉浸式的適配方法

 更新時(shí)間:2018年07月28日 09:22:28   作者:lingfeixiang  
今天小編就為大家分享一篇Android 虛擬按鍵與沉浸式的適配方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

根據(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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論