同样是切换组件,开关/单选按钮/复选框该用哪个?

做UI/UX设计的同学几乎每天都要和切换类组件打交道,但很多人总会在开关、复选框、单选按钮之间踩坑——要么用错场景,要么给用户造成认知混淆,甚至引发操作失误。

苹果HIG (人机界面指南) 里明确把开关、复选框、单选按钮这三类,都归为「切换开关」组件。它们的核心共性是让用户在对立的状态间做选择,通过差异化的视觉形态清晰区分选中/未选中的状态。

image.png

一、开关(Switch)

开关是用来瞬间切换单个功能/设置的开启/关闭状态的组件,一次只能控制一个设置的开关,工作逻辑和我们家里的物理电灯开关完全一致,能让用户一眼看清当前的生效状态。

1. 开关核心结构

image.png

开关的结构非常简洁,核心分为3个部分:

  1. 轨道(背景):开关的背景区域,也是手柄滑动的路径,通常会用颜色差异区分开/关状态,直观告诉用户当前是否激活
  2. 手柄:用户可以点击、拖动的可交互按钮部分,手柄上可添加对勾、叉号、圆圈等辅助图标
  3. 图标(可选):用来强化状态认知的辅助元素

2. 开关使用规范

如果要添加辅助图标,必须选表意清晰、强二元对立的样式,千万别用含义模糊、没有明确正反属性的图标(比如月亮、编辑图标),用户没法一眼对应开/关状态。

image.png开关的核心交互逻辑是操作后立即生效,不需要用户额外点击确认按钮,切换状态时,可配合手柄尺寸的微动效强化操作反馈。

image.png开关必须和描述控制功能的标签搭配使用,标签要简洁直白,不要把文字放到开关内部。这样会压缩视觉空间,还会破坏组件通用性,增加用户识别成本。

image.png

二、复选框(Checkbox)

复选框的核心定位,是支持用户对一组关联选项,做单项或多项的选中/取消操作。

记住一个核心原则:当用户可以在一个列表里选择多个选项时就用复选框,不用开关或单选按钮。单选按钮的语义是「请选其中一个」,而复选框的语义是「可以选多个,也可以全不选」,二者的底层逻辑不同。

1. 复选框核心结构

复选框的结构清晰,核心就是选择容器+选中状态图标,通过勾选/未勾选的视觉差异,直观传递用户的选择结果。

image.png

2. 复选框使用规范

如果选项列表较长,建议添加「全选父复选框」提升操作效率,它的交互逻辑有明确的行业规范:

  1. 父复选框勾选,所有子复选框自动全部勾选;
  2. 父复选框取消勾选,所有子复选框自动全部取消勾选;
  3. 子复选框仅部分被勾选时,父复选框需显示「半选(不确定)」状态,点击半选的父复选框,会自动全选所有子项。

    image.png

处理一组有关联的多选项时优先用复选框,而非一堆独立的开关。

一方面,复选框能天然传递「选项之间互相关联」的语义,另一方面,它比开关占用的视觉空间更小,页面会更整洁有序。

三、单选按钮(Radio Button)

单选按钮的核心是互斥单选。在一组选项里,用户有且只能选择一个,选中新选项后之前选中的选项会自动取消。

它的语义非常明确:这一组选项里,「你必须、只能选一个」和复选框的「可多选、可全不选」形成了清晰的边界。

1. 单选按钮核心结构

单选按钮的结构核心是选中/未选中的状态图标+对应的选项标签。行业通用的视觉规范是:用实心圆点表示选中,空心圆圈表示未选中,保证用户的视觉识别度。

image.png

2. 单选按钮使用规范

不能打破互斥单选的核心逻辑,更不能让单选按钮出现布局重叠,否则会完全颠覆用户的固有认知,造成操作混乱。

image.png

如果选项数量较多、屏幕空间有限,可用下拉菜单替代单选按钮。

但要注意:下拉菜单需要用户多一步点击展开的操作,会增加交互成本,也没法让用户一眼看到全量选项,降低认知效率。因此选项较少时,优先用单选按钮。

image.png单选按钮优先垂直排列,不建议水平排列。

image.png

垂直排列时每个选项的图标和标签对应关系更清晰,用户不会看错;水平排列不仅容易让页面拥挤、可读性下降,还会破坏布局一致性,在响应式适配中也更容易出问题。

四、一张表搞懂:三者到底怎么选?

前面讲了每个组件的细节,这里给大家整理了最简使用规则,设计时直接对照即可。

image.png

开关、复选框、单选按钮,都是设计里最基础、最常用的组件。设计时要先看场景、定语义,再选对应的组件,而不是凭感觉、看颜值随便乱用。

当然,我们也会看到一些特殊的设计案例,比如iOS在深色模式的选择里,用了圆形复选框,和我们今天说的常规用法不一样。这种情况,要么是为了整个系统的设计语言统一,要么是有特殊的产品考量,不建议盲目照搬。对于设计师来说,先搞懂这些基础组件的用法、可用性底层逻辑,才是做好设计的根基!

转载自 优设网

兰亭妙微(蓝蓝设计)www.lanlanwork.com 是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的大数据可视化界面设计B端界面设计桌面端界面设计APP界面设计图标定制用户体验设计交互设计UI咨询高端网站设计平面设计,以及相关的软件开发服务,咨询电话:01063334945。

 

image.png

日历

链接

个人资料

蓝蓝设计的小编 http://www.lanlanwork.com

存档