應該有許多人有遇到這樣的問題,UI/UX設計師所設計的畫面中,有時為了配合設計,最上方狀態欄(Status Bar)背景設計為淺色系的,這時狀態欄中的文字與圖示(時間、網路訊號等)系統預設是白色的,會變得十分不顯眼。
MainActivity.java
參考資料:Change status bar text color when primaryDark is white
Android 6.0狀態欄使用灰色文字與圖示
Android M Light and Dark status bar programmatically
完整專案:Solinari GitHub
第一種方法:透過styles.xml,<item name="android:windowLightStatusBar">true</item>
第二種方法:透過SYSTEM_UI_FLAG_LIGHT_STATUS_BAR,由程式端改變顏色
這邊也寫一個非常簡單的小程式,透過按鈕Button隨即切換狀態欄的背景顏色以及文字、圖示顏色,深色背景搭配預設圖示顏色,淺色背景搭配灰色圖示顏色。
完成圖↓
MainActivity.java
參考資料:Change status bar text color when primaryDark is white
Android 6.0狀態欄使用灰色文字與圖示
Android M Light and Dark status bar programmatically
完整專案:Solinari GitHub