Toolbar實現沉浸式狀態列
阿新 • • 發佈:2019-01-05
沉浸式狀態列實現方式
方法一:調整狀態列顏色和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);
具體使用什麼方法,還要看具體專案,根據情況來應用。