【Android dark模式 初體驗】

【Android dark模式 初體驗】

在 2019 年的 Google I/O 和 Apple WWDC 上,新露面的 Android 10 和 iOS 13 都宣佈將支持 Dark Theme 也就是我們常說的暗黑模式,並提供相關 API 供開發者適配。

爲什麼我們需要深色模式?

可大幅減少耗電量(具體取決於設備的屏幕技術)。
爲弱視以及對強光敏感的用戶提高可視性。
讓所有人都可以在光線較暗的環境中更輕鬆地使用設備。
深色主題背景同時適用於 Android 系統界面和在設備上運行的應用。

我們該怎樣啓動深色模式?

在 Android 10 (API 級別 29) 及更高版本中,您可以通過以下三種方法啓用深色主題背景:
使用系統設置(Settings -> Display -> Theme)啓用深色主題背景。
使用“快捷設置”圖塊,從通知托盤中切換主題背景(啓用後)。 在 Pixel
設備上,選擇“省電模式”將同時啓用深色主題背景。其他原始設備製造商 (OEM) 不一定支持這種行爲。

爲你的Android App適配深色模式

適配的方式主要有三種:自動適配、自定義適配、使用 Material Design Components 進行適配.在這裏,我使用了一個實例demo來展示各種方法的效果。

未適配前效果
在這裏插入圖片描述
在這裏插入圖片描述

自動適配 Force dark

Android 10 提供 Force Dark 功能。一如其名,此功能可讓開發者快速實現深色主題背景,而無需明確設置 DayNight 主題背景。

使用方法是在style.xml的資源文件中其主題背景中設置 android:forceDarkAllowed=“true”

在這裏插入圖片描述

運行效果
在這裏插入圖片描述
在這裏插入圖片描述
使用forceDarkAllowed自動適配十分簡單粗暴,整體上看效果也基本上能讓人滿意,適配工作全是系統自己做的。

自定義適配

自定義適配的關鍵在於,避免一切硬編碼的顏色值,建立 light 、night 兩份 colors,通過定義相同的名字,在不同模式下顯示不同的顏色。

確保當前 App 使用的主題繼承自 AppCompat 或 MaterialComponents,並將之前默認的 Light 主題修改爲 DayNight

兩份colors資源
在這裏插入圖片描述
修改style的父類
在這裏插入圖片描述
適配效果
在這裏插入圖片描述
因爲我修改了 colors-nigh文件t中狀態欄和標題欄的顏色爲黑色,所以這裏在深色模式下也相應的變成了黑色。

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