国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

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

2019-10-21 21:45:12
字體:
來源:轉載
供稿:網友

根據公司產品的要求,app要實現全屏模式,也就是4.4以后的所謂的沉浸式。

在values-v19和values-v21的styles里添加以下代碼,實現19以上的系統的沉浸式:

<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包,用于把布局頂到狀態欄(Status Bar)和導航欄(Navigation Bar)上,擴展屏幕高度。這樣,只要我們把Status Bar和Navigation Bar的顏色設置成透明,那就可以實現app的全屏而又不影響狀態欄和導航欄了。如圖:

Android,虛擬按鍵,沉浸式,適配

那么,問題來了。加入直接這樣設置,手機使用虛擬按鍵的,像華為各種型號的手機,布局和Navigation Bar會重疊導致沖突,比如這樣:

Android,虛擬按鍵,沉浸式,適配

而且,不適配4.4以下的系統。

為了解決問題,查看了很多資料,也自己嘗試了一下,發現很多方法都不適合。后來嘗試了一下,低于4.4的版本,也就是values下的styles,直接把parent的值,設置成NoTitleBar或者其它的兼容4.4以下版本的Theme(當然,4.4以下的系統,沒辦法實現沉浸式),然后values-v19和v21的保持TranslucentDecort實現沉浸式。

看了很多網友的資料,有人嘗試在layout的總布局里設置android:fitsSystemWindows="true",但這樣子Status Bar也就廢了,這不是我們想要的。

把values-v19和v21的styles里的

<item name="android:windowTranslucentNavigation">false</item>

設置成false,嘗試了一下,成功了。帶有虛擬按鍵的系統,自動把布局頂上去了。

以上這篇Android 虛擬按鍵與沉浸式的適配方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九龙坡区| 河曲县| 嘉黎县| 顺昌县| 扶沟县| 鲁山县| 仁怀市| 万载县| 开远市| 潍坊市| 隆林| 满洲里市| 温宿县| 玛纳斯县| 稷山县| 阿城市| 景谷| 永昌县| 黄山市| 民和| 石台县| 观塘区| 富阳市| 北流市| 蚌埠市| 布尔津县| 安丘市| 洛扎县| 天柱县| 革吉县| 当雄县| 句容市| 邹城市| 开化县| 青冈县| 珠海市| 江城| 砀山县| 恩施市| 台江县| 承德县|