解決虛擬按鍵遮蓋底部視圖的問題

Android部分手機會有虛擬按鍵,而沒有實體按鍵,例如華爲系列的手機。

然而在開發過程中,有時候會涉及底部視圖的開發,最終的結果卻因爲虛擬按鍵的關係,結果底部視圖被虛擬按鍵給遮蓋住了。

在這裏,分爲兩種情況,一種是Activity繼承普通的Activity,一種是Activity繼承AppcompatActivity。

第一種情況的解決方案:(繼承普通的Activity)
直接在配置文件Androidmanifest.xml裏對相應的Activity設置樣式,
Theme 如果設置成Theme.NoTitleBar或者Theme.Black.NoTitleBar的話,默認是黑色,但是可以解決華爲虛擬按鍵的問題,如果設置成Theme.Light.NoTitleBar,默認是白色,也可以解決該問題。

第二種情況的解決方案:(繼承AppcompatActivity的情況)
因爲繼承AppcompatActivity的Activity是需要設置v7包裏面的樣式,不能設置系統的,所以我們自定義一個樣式,繼承於v7包裏面的樣式。
直接在res資源文件目錄下新建一個values-v19
然後在values文件夾下面的style.xml裏面設置個樣式,繼承於Theme.Appcompat,例如叫Theme.Appcompat.abc,然後在values-v19文件夾下面的style.xml裏面同樣設置Theme.Appcompat.abc,只不過要多設置兩個屬性,一個是

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

這個屬性是設置底部虛擬按鍵透明的,可以解決遮蓋視圖的問題,但是它是透明的,虛擬按鍵本身是黑色的,你可能因爲你的窗體背景是白色的,所以下面虛擬按鍵的背景就變成白色了,所以這時候要多設置一個屬性

<!--Window的背景色-->
<item name="android:windowBackground">@android:color/black</item>

這個是設置窗體背景顏色的,這裏是設置爲虛擬按鍵默認的黑色,如果你想把虛擬按鍵背景設置成你app的主題顏色,那可以直接設置這個屬性,改一下顏色就行了,暫時沒有圖片展示,下次補上。就此解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章