中国睡眠研究会发布的《2017 年中国青年睡眠现状报告》显示,大约 90% 的人在睡前离不开电子产品。

不知道大家有没有感觉到普通的亮色界面会让我们在夜间使用的时侯感到刺眼,长时间使用会感觉眼睛疼痛,对眼睛的伤害也非常大。(当然睡前不玩手机是最好的解决方法)

所以对于阅读性或者社交娱乐等等 APP,打造夜间模式的功能会让我们得到更好的体验,减少对眼睛的伤害。

夜间模式 UI 与深色风格 UI 的区别

我们平时使用的不少音乐或视频类产品都采用了深色风格 UI 的设计,深色风格 UI 容易承托娱乐类产品的品牌特性以及氛围感。但深色 UI 并没有针对夜间情景下专门去考虑,在白天与夜间情景下都可以使用。

而夜间模式更加针对夜间无照明的情景下设计,更加全面考虑用户在夜间无照明情景下的体验。并且都是由白天 (亮色) 模式切换成夜间模式,兼顾两种模式设计。

当然这里一般会考虑到成本问题,不少产品直接用深色 UI 当夜间模式。不过作为设计师,必须理解二者的不同。

下面我们来了解一下应该如何设计一个夜间模式:

设计夜间模式的流程

夜间模式的设计主要通过色彩的调性,整体色彩的亮度,整体色彩的对比度,色彩的通用性等不同维度来设计。

1、明确色彩调性

首先,从调性图上来看,低短调(色调深暗,对比微弱),在黑暗的环境中看起来没那么刺眼,比较适合作为夜间模式的使用。

2、选择亮度低的颜色

尼特值 (nit) ,它是用于量化亮度强度的专业术语,意思每平方米烛光的强度:1nit=1 坎德拉/平方米;

其实可以将尼特值简单理解为亮度值。
白天,人的眼睛能适应亮度的值高于 3.4 尼特;夜晚,主体颜色接近 0.034 尼特,最亮元素低于 3.4 尼特的亮度眼睛会比较舒适。

将尼特值换算成 HSB 颜色模式。也就是说主色调颜色(一般指背景色或最暗的颜色)的亮度不超过 20(0<B<20),避免使用极端颜色(纯黑),最亮的颜色亮度尽量不超过 50。

3、选择低纯度的颜色

使用柔和,低纯度的色彩可以使界面看起来更舒服,增加用户的使用时长。

而且低纯度的色系对于色弱以及色盲人群来说,和普通人群的辨色差异不大,更适合大众。

4、选择对比度微弱的颜色

以下图为例:

白天模式

无纯度夜间模式

两个模式的亮度对比:

亮色版本的亮度是(100,90,80,60,10),颜色的对比跳跃比较大,对比强,明亮。

夜间模式的亮度是(10,15,30,40,50),最接近的颜色对比度不小于 5 ,保证颜色的差异辨识度。 颜色的对比跳跃比较小,对比微弱。

内容颜色与背景颜色的比对是 10:50 与 10:30 。

5、彩色明度降低为 B:50 左右,元素添加 50% 黑色遮罩。

6、改变色相,使品牌色更凸显

同样以这张图为例,将整体的颜色的纯度上加了 20 蓝色——色相: 216,整体会感觉加了一个蓝色的滤镜,视觉上看上去就不是无色相的黑白灰颜色。

小结

以上只是举了示例,具体的情况再具体分析。这些原则是为了帮助设计师更明确的做设计,并非限制设计师发挥的条条框框。

如何通过 HSB 颜色模式构建夜间模式的更多相关文章

  1. DKNightVersion的基本使用(夜间模式)

    DKNightVersion下载地址: https://github.com/Draveness/DKNightVersion 基本原理就是利用一个单例对象来存储颜色, 然后通过runtime中的ob ...

  2. Android实现夜间模式

    如今非常多App都有夜间模式,特别是阅读类的App.夜间模式如今已经是阅读类App的标配了,其实,日间模式与夜间模式就是给App定义并应用两套不同颜色的主题,用户能够自己主动或者手动的开启,今天用An ...

  3. Ionic3学习笔记(十)实现夜间模式功能

    本文为原创文章,转载请标明出处 目录 创建主题样式 导入 variables.scss 创建 provider 创建 page 在 App 入口处应用主题 效果图 1. 创建主题样式 在 ./src/ ...

  4. DKNightVersion 的实现 --- 如何为 iOS 应用添加夜间模式

    在很多重阅读或者需要在夜间观看的软件其实都会把夜间模式当做一个 App 所需要具备的特性. 而如何在不改变原有的架构, 甚至不改变原有的代码的基础上, 就能为应用优雅地添加夜间模式就成为一个在很多应用 ...

  5. android简单的夜间模式

    现在android项目values下打 attrs.xml <?xml version="1.0" encoding="utf-8"?> <r ...

  6. Android白天/夜间模式Day/Night Mode标准原生SDK实现

     Android白天/夜间模式Day/Night Mode标准原生SDK实现 章节A:Android实现白天/夜间模式主要控制器在于UiModeManager,UiModeManager是Andr ...

  7. Android 之夜间模式(多主题)的实现

    引言 夜间模式其实属于多主题切换的一种,不过是最麻烦的一种.因为在夜间模式下不仅要切换主色调,次要色调等等,还要覆盖一些特殊的颜色,因为在夜间模式下总不能什么都是黑的把,那不得丑死-.-,所以当你夜间 ...

  8. Android 夜间模式changeskin小结

    @author vivian8725118 @CSDN http://blog.csdn.net/vivian8725118 @简书 http://www.jianshu.com/p/832e9776 ...

  9. Android夜间模式的几种实现

    一.直接修改widget颜色,这种方式实现起来最简单,但需要每个控件都去修改,太过复杂.例如: /** * 相应交互,修改控件颜色 * @param view */public void onMeth ...

随机推荐

  1. 从C#到TypeScript - async await

    总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...

  2. 4105: [Thu Summer Camp 2015]平方运算

    首先嘛这道题目只要知道一个东西就很容易了:所有循环的最小公约数<=60,成一条链的长度最大为11,那么我们就可以用一个很裸的方法.对于在链上的数,我们修改直接暴力找出并修改.对于在环上的数,我们 ...

  3. BZOJ 3924: [Zjoi2015]幻想乡战略游戏(动态点分治)

    这种动态点分治嘛,GDKOI时听打到了,也有同学讲到了,所以印象比较深刻也就想出来了,然后就在实现方面卡了好久= = 不得不说CLJ说得真的太简单了,实现方面根本没提. 首先我们可以先用树分治构建出这 ...

  4. BZOJ 1875: [SDOI2009]HH去散步(矩阵乘法)

    首先,题意就把我们引向了矩阵乘法,注意边长m<=60,那么就按边建图,变成一个120个点的图,然后乱搞就行了。 PS:WA了N久改了3次终于A了QAQ CODE: #include<cst ...

  5. 浅谈iOS程序员的成长和进阶

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  6. Markdown语法收录

    引言 Markdown编辑模式的写法在写博客以及生成简单的页面都有一定的使用,这里只收录Markdown的一些语法供以后查阅使用.具体使用手册可详见Markdown 语法说明(简体中文版) 正文 段落 ...

  7. CORS(跨域资源共享)

    Cors(Cross-origin Resource Sharing)基本思想是使用自定义的HTTP头部允许浏览器和服务器相互了解对方,从而决定响应成功与否. CORS与JSONP对比: 1.JSON ...

  8. 1635: [Usaco2007 Jan]Tallest Cow 最高的牛

    1635: [Usaco2007 Jan]Tallest Cow 最高的牛 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 383  Solved: 211 ...

  9. CSS用足够大的纯色内阴影去覆盖掉谷歌input记住账号或密码时默认出现的黄色背景

    在谷歌浏览器会默认记住账号,而记住账号之后其input的背景会变成黄色,解决的办法如下: input:-webkit-autofill { -webkit-box-shadow: 0px 1000px ...

  10. web从入门开始(5)-----表单

    1.   表单的概念 是用来获取客户端用户数据的(信息)的.如:注册表单,查询表单,登录表单等. 2.  表单的工作原理 1.浏览有表单的网页,填写一些必要的信息,然后单击某个按钮,进行提交. 2.这 ...