我想改變導航欄完全透明,如下圖所示。如何創建一個完全透明的導航欄?
我試過<item name="android:windowTranslucentNavigation">true</item>
但它不完全透明(更像是50%)。
有沒有解決方案?因爲我沒有找到它,但我看到一些使用它的應用程序,如Nova。而其甚至在谷歌的指引https://material.google.com/layout/structure.html#structure-system-bars
我想改變導航欄完全透明,如下圖所示。如何創建一個完全透明的導航欄?
我試過<item name="android:windowTranslucentNavigation">true</item>
但它不完全透明(更像是50%)。
有沒有解決方案?因爲我沒有找到它,但我看到一些使用它的應用程序,如Nova。而其甚至在谷歌的指引https://material.google.com/layout/structure.html#structure-system-bars
試試這個
<resources>
<style name="Theme" parent="android:Theme.Material.Wallpaper.NoTitleBar">
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
可以實現,使用FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
。文檔說明:
指示此窗口負責爲系統欄繪製 背景的標誌。如果設置,系統欄將以 繪製透明背景,並且此窗口 中的相應區域將填充
getStatusBarColor()
和getNavigationBarColor()
中指定的顏色。
將其設置一樣,在您的活動的onCreate
:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
使用後在活動的onCreate代碼:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window w = getWindow(); w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
,並在您的styles.xml:
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentNavigation">false</item>