1. 程式人生 > >Toolbar實現沉浸式狀態列

Toolbar實現沉浸式狀態列

沉浸式狀態列實現方式

方法一:調整狀態列顏色和Toolbar背景色相同

theme中設定
<item name="colorPrimaryDark">@android:color/white</item> 
但是此方法在使用DrawerLayout側滑時,toolbar顏色會變暗,導致和狀態列顏色出現偏差,效果不佳。

方法二:類似網易雲音樂狀態列全透明

theme中設定

/*
 注意,此方法設定狀態列透明,狀態列的文字圖示(時間,訊號等)顏色會隨狀態列下方的控制元件顏色來確定,如果狀態列下方控制元件是黑色,狀態列文字顏色就是白色;控制元件是白色,狀態列文字顏色就是黑色,讓使用者更清楚的看到。
但是如果動態更改狀態列下方控制元件顏色,狀態列文字顏色不會隨之改變。比如控制元件顏色從黑色變成白色,狀態列文字還是白色,這是就看不到狀態列文字了。此時要手動呼叫window.setStatusBarColor(int color)來改變狀態列顏色,但是事實上狀態列顏色不會改變,而是會改變狀態列文字的顏色
*/
<item
name="android:windowTranslucentStatus">true</item> window.setStatusBarColor(Color.WHITE);

具體使用什麼方法,還要看具體專案,根據情況來應用。