本文最后更新于 2020 年 8 月 31 日
Moriafly 原创
说明:小白教程
官方文档:https://developer.android.google.cn/guide/topics/ui/look-and-feel/darktheme?hl=en
一、什么是深色主题?
魅族 Flyme 2017 年推出了夜间模式,是为了让用户在夜间阅读更加舒适。如界面背景,白天使用 RGB(250, 250, 250),而夜间使用 RGB(35, 35, 35)。苹果 iOS 13 的暗黑模式,却给背景使用了全白和全黑。
Android 10 的深色模式(Dark Theme)的深色该如何设置?
深色主题不是夜间模式,当然可能更合适夜间阅读,官方文档给出了三个好处:
- 可显著减少功耗(取决于设备的屏幕技术);
- 提高低视力用户和对亮光敏感的用户的能见度;
使任何人在低光环境中更轻松地使用设备
。
我建议不要把背景设置太灰,虽然有些软件还特意做了黑暗环境下的测试,还是吐槽,微信最开始适配的时候的界面灰灰的给鬼看啊(现在好多了)。
二、如何适配深色主题
1. 条件
深色主题在 Android 10
(API 级别 29) 及更高版本中可用。
2. 适配
这里就讲一种适配方法:分别设置白天夜间的 color.xml
。这里一步一步讲解。
2.1 新建项目
我们直接运行下看下目前效果:
2.2 开始适配
在 res
文件夹下添加 values-night
文件夹。
复制 values
文件夹下的 colors.xml
到刚刚新建的 colors.xml
。
color.xml 表示颜色资源,我们在一般时候用 values/colors.xml 文件,而在打开深色主题事使用 values-night/colors.xml ,就可以实现自定义的颜色切换。
2.3 手动切换到深色主题
2.3.1 修改 style.xml
为了支持深色主题,您必须设置应用的主题才能从主题继承:res/values/styles.xmlDayNight
。