随着iOS 13和Android 10的正式发布,一个名词"暗黑模式(Dark Mode)"逐渐走入了大家的视野。各大App都将暗黑模式的适配列入了开发日程。现在阿里技术官方宣布了,优酷App全量支持“暗黑模式”的设计与技术总结。
从2019年11月开始,优酷主客Android端和iOS端使用两个版本的时间,推动各业务方基本完成了主要使用路径上数十个页面的改造,还使用同一套方案同步完成了部分Weex页面和H5页面的适配,并完整地通过了UED的视觉验收。
当前,到App Store和各大Android市场下载的优酷App最新版本,均已全量支持“暗黑模式”。
为什么要支持暗黑模式?
根据Apple官方的说法,暗黑模式可以“改善电池寿命,改善视力不佳和强光下的人的可视性,以及在弱光环境中更好地使用设备”。
1.改善电池寿命
从下图中notebookcheck的功耗分析可以看出,在使用OLED屏幕时,屏幕上显示的内容决定了功耗。当屏幕基本全黑时,OLED屏在任何亮度下的功耗都保持恒定。显示了白色内容的屏幕,功耗曲线会随着亮度提高而逐渐变陡。
2.改善视力不佳用户的可视性
我们面对的用户群体中有一部分是色盲或者色弱用户,暗黑模式对于色盲/色弱用户群体是非常友好的。
3.弱光环境中的使用
在温暖的被窝中也可以舒服地看剧了,再也不用害怕被白色背景闪瞎眼了。
4. UI风格的统一
业务开发中难免会用到系统默认控件,而系统默认控件都支持了暗黑模式。如果自定义控件不支持的话,当用户打开暗黑模式后,就会发现风格不统一的情况。
以iOS为例,在下图的界面中,Tabbar已经被转成暗黑模式的样式,但画面上方的组件、文字因为都是自定义颜色/样式,并没有随着模式切换而自动调整,这也让整个画面看起来不太协调。
如果短时间内没有精力支持暗黑模式,也可以在开发阶段强制指定不支持暗黑模式。
对于iOS,需要在App的Info.plist里面添加名称为User Interface Style,类型为String的项目,将User Interface Style的值设置为Light,声明"只支持Light Mode",就可以避免系统控件转换为暗黑状态。
对于Android,需要在App的Application里面调用下面的代码,声明不支持暗黑模式。
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
更多《 优酷 APP 全量支持“暗黑模式” 设计与技术完整总结》电子书阅读:点此链接。
本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/467/662.htm]