以一個 app 改版案例,深入淺出地告訴大家如何適配深色模式,同時給出了正確和錯誤的示范,相信對于目前流行的深色設計趨勢來說,是非常的實用了。
Google 在 2019 年度 I/O開發者大會上宣布,安卓將會從系統底層支持深色模式。同時,我們也會看到更多支持深色 UI 的應用正在推出。
深色 UI 很快將成為一種常見的模式,其他應用也很快會遵循這一模式。
在這篇文章中,我將會以我們的應用 Shutter Points 為例,解釋如何從淺色 UI 適配深色 UI。
1. 調色板
Shutter Points UI 的主要顏色是單色為主,目的是為了突出圖片內容。主色調用于主導航欄,標簽中使用 5 種輔色將圖片注釋與對應的類別聯系起來。
△ Shutter Points 中的主色和輔色以及在界面中的應用截圖
當應用深色模式時,亮色和低飽和度的顏色相比于飽和度高的顏色會更受歡迎。使用亮色的時候要確保元素易于閱讀,并配合一個對比度適中的暗色背景。
使用谷歌提供的顏色編輯器(https://material.io/resources/theme-editor/)可以為每個品牌顏色創建一個自定義色板,然后從中選擇合適的顏色。
根據谷歌設計規范(https://material.io/design/color/dark-theme.html#ui-application)建議,在使用深色模式時,一個好的經驗法則是將調色板的色值范圍保持在 200 左右。
(彩云注:谷歌提供的顏色規范中 100-900 數值的具體意義,感興趣的請見知乎上的回答:https://www.zhihu.com/question/26340807,這里就不做深入解讀了。)
任何一個深色界面都需要有一個合適的對比度,按 WCAG 的 AA 級標準來說,界面中的文字與背景的對比度至少要達到 4.5 : 1。
△ 品牌顏色中的一個淺色被選為深色模式配色
2. 界面顏色
有了新的配色方案在手,是時候改變界面的顏色了。深色主題中的所有界面都是以默認的深灰色 #121212 作為基準的。
在 UI 組件上添加不同透明度的白色,根據不同的層級搭配不同的透明度。
△ 疊加的層次范圍從0%到16%
(彩云注:深色模式中的高度 [ elevation ],準確的含義其實是 Android 開發中的一個樣式代碼,用來設置界面的權重的,比如 android:elevation="1dp",層級就在 android:elevation="0dp" 之上了。)
為了表示不同的層級高度,我們需要在組件的樣式中調整 2 個值:
- 投影屬性
- 疊加的透明度
無論使用哪種主題,應用正確的高度將確保元素保持在一個一致的視覺層次。想知道應用中透明度該用多少?這里有一個表:
(彩云注:我把規范中的表格幫大家截圖出來,貼在這里,想看更多詳細內容請見:https://material.io/design/color/dark-theme.html#properties)
組件中通過使用不同透明度的白色覆蓋來保持它們在深色主題中的高度一致。
3. 避免大面積顏色
在某些情況下,僅僅將顏色由亮變暗并不會得到一個好的結果。
例如在我們 app 的引導頁中,淺色模式下使用次要顏色能突出內容,但在深色模式下,整個背景都是高飽和度的顏色,卻會讓界面顯得非常的刺眼。
對于這些情況,最好是選擇一個深色背景,然后保留次級顏色用于標題等小面積元素。
大面積的高飽和度顏色不適合用于深色模式。
1. 文字顏色
谷歌設計規范主要強調了 3 種文本顏色。
這里主要是通過修改白色或黑色的不透明度作為顏色值。
- 強調文本 -> #FFFFFF(87% opacity)
- 中等文本 -> #FFFFFF(60% opacity)
- 次級文本 -> #FFFFFF(38% opacity)
△ 不同重要級和不同大小的文本在整個UI中傳遞出了層次結構,這個原理也適用于深色主題。
2. 注意對比度
所有的文本內容應該易于閱讀并符合標準規范。網頁標準 WCAG 2.0 中規范 AA 級別的文本,普通文本與背景之間的對比度為 4.5 : 1,大標題文本這個比例為 3?:?1。
在我們的 App 中,直接把淺色背景下的標簽顏色帶到深色模式中,文本開始變得很難閱讀。為了得到一個好的對比度,所有的標簽文本需要修改到深色,識別度會更高。
△ 彩色元素上的文本需要改變顏色以保證易讀。
谷歌做了一款測試工具,幫助確定在哪個顏色值時需要將白色文本改為黑色文本,工具的地址在(https://material.io/design/color/the-color-system.html#tools-for-picking-colors)
(彩云注:彩云親測,還挺方便使用的,建議用電腦端打開這個頁面試用一下,對于配色糾結癥患者,有良好的治愈效果。)
小建議:推薦一款在 sketch 和 Adobe XD 中使用的小插件叫 Stark,可以方便的測試出你設計的界面可用性。
如果應用包含插畫和圖形元素,這些也需要做好深色適配工作。
如果插畫有「背景」和「主題」,最好是將背景的飽和度降低,以保證對于主題的關注。
Lottie 動畫可以通過在 AE 中的源文件來重新導出 json 文件,來調整動畫的明暗適配,很方便。
△ 深色主題插畫同樣讓用戶關注到插畫的主題內容。
隨著深色主題被引入操作系統級別,應用將需要在不破壞任何原有體驗的情況下做出適配優化。
深色主題并不是僅僅做簡單的反色。
設計師和開發者必須明確以下幾點:
- 所有的 UI 元素必須符合標準的可用性原則;
- 組件的可視層次結構在不同的顏色主題內應該是保持一致的;
- 品牌識別不應該受到主題顏色變化的影響。
原文鏈接:《Design for the Dark Theme》
歡迎關注譯者的微信公眾號:「彩云譯設計」
復制本文鏈接 文章為作者獨立觀點不代表優設網立場,未經允許不得轉載。
發評論!每天贏獎品
點擊 登錄 后,在評論區留言,系統會隨機派送獎品
2012年成立至今,是國內備受歡迎的設計師平臺,提供獎品贊助 聯系我們
AI輔助海報設計101例
已累計誕生 737 位幸運星
發表評論 為下方 1 條評論點贊,解鎖好運彩蛋
↓ 下方為您推薦了一些精彩有趣的文章熱評 ↓