在很长的一段时间内,我从来都没有觉得在设计页面中,选用复选框还是开关会有问题,直到我看到知乎的设置页面。知乎的设置页面是没有开关的,而且在所有的我认为应该放置开关的地方,知乎都放置了复选框,于是我就开始产生疑问了。后来在知乎有看到相关的问题讨论【1】,所以我就结合一下自己的思考做个小总结。其实我觉得开关和复选框都是可以表达一种“切换”的关系,不过现在两者有点混淆,不过可以总结一个规律出来。而且据说这是一个历史遗留问题【3】。
单个项目用开关
根据Material design规范里的说明【2】,如果只有单个项目的时候,选用开关,如下图。不过这里的单个项目指的是控制列表里面的项目,对于其他情形,比如登陆页面的一些“记住密码”等项目,习惯性还是用复选框。
联动项目用开关
联动项目,即列表项与列表项之间存在控制的关系,比如说:WiFi页面下,当关闭wifi选项,就不会出现wifi热点列表。在设置列表中,联动设置项的设定可以有效减少页面的复杂程度,降低用户的认知负担。一般来说,这种起控制性的项目就会用开关。
多个不同项目用开关
当有多个不同的列表项并列,然后各自之间并没有什么关系的时候,倾向于用开关。虽然这并不符合Material design的规范。不过因为一般复选框的项之间都是属于同一类的,所以我觉得当不同项目时,选用开关会更加适合。
多个相似项目用复选框
多个相似列表项并列时,倾向于用复选框,而且这时候要加上二级标题。如下图。
需要注意的是,这个问题只出现在Android的设置项中,iOS规范中只有开关。
关于列表项的复选框和开关的选择就讨论到这里,希望对你有所启发。
【1】Android 中开关和复选框的区别是什么? - 知乎https://www.zhihu.com/question/22470976#
【2】开关 - Material Design 中文版 - 极客学院Wiki http://wiki.jikexueyuan.com/project/material-design/components/switches.html
【3】Android 中开关和复选框的区别是什么? - 回答作者:leongao http://zhihu.com/question/22470976/answer/21468376?utm_campaign=webshare&utm_source=weibo&utm_medium=zhihu