为数据输入进行设计是很棘手的。移动设备的屏幕空间有限或太高交互成本会使用户输入信息变得困难。有许多输入选项,但并不是所有方法都适合于每个任务。

一个常见的输入控件是输入步进器,一个用于输入数字信息的用户界面元素。

输入步进
步进器示例:水平(左)和垂直(右)

定义:一个输入步进器是一个两段UI控件,用于递增或递减数值。

大多数输入步进器都是图形用户界面的视觉元素(例如,它们是GUI控件),声音和手势界面也可以有步进器。例如,对声控电视机说“音量提高”或“音量降低”,就会按设定的数量调整音量。在3D手势界面中,向上挥手可能会增加所选变量的值。所有这些步进器的关键定义属性是它们是相对控件-用户的操作将指定变量的值更改一定的固定量。(将这种类型的控件与绝对类型的控件(如文本输入字段)进行对比;使用绝对控件,用户指定新的所需值而不参考以前的值。)在本文中,我们重点介绍GUI输入步进器的设计。

尽管在某些情况下,输入步进器是一种方便的输入数字的工具,但它们并不是每种情况下的理想选择。在本文中,我们将讨论这个UI控件的优缺点,以及如何正确使用步长。

输入步进器的好处

没有键盘

步进器可以绕过设备限制。例如,在智能手机上使用键盘很容易出错,一些计算机系统(如公交终点站或博物馆亭)没有键盘。在这些情况下,输入步进器是一个适当的设计选择,以支持小的调整默认值.(在交互设计的许多其他领域中,基于任务分析或其他用户研究选择好的默认值对于这些系统的可用性至关重要。)

Kayak输入步进
Kayak使用输入步进器允许用户在搜索表单中更改旅行者的数量。

直观的使用

输入步进器有清晰、显式极大的可能性:加号段通常位于值的右侧(或上方),减号段位于左侧(或下方);这些位置很自然地映射到概念隐喻上,如“进步是从左到右”或“多多少少”(然而,这些隐喻取决于文化;例如,在使用从右到左语言的文化中,进度隐喻相反。步进器段的位置应反映文化规范,如下面的iOS示例中所示。)方向按钮和符号标签在无需额外说明的情况下发挥功能。

输入步进器
在iOS中,将系统语言改为从右到左的语言,如阿拉伯语(左),与英文版本(右)相反,将步进段的位置(右减右增)颠倒过来。

交互成本低

对于调整较小的值,步进器需要的交互比其他输入方法更少。例如,要将表单中的客人数量从1个增加到2个,用户只需点击一次加号按钮。这个动作比选择输入区域,点击键盘上的数字“2”,然后按Enter键或取消键盘要省力得多。

步进和其他人
这3张手机截图展示了3种不同的数值输入方法。美国航空公司(左)使用下拉菜单选择乘客数量。这个控件需要几个手势(选择字段、滚动和选择数字,然后按Done)。跑步机跑步追踪器(中间)使用文本框输入距离;用户必须选择字段,输入想要的数字,然后点击保存按钮或点击另一个字段。相比之下,在达美航空(Delta Airlines)的手机应用中,将乘客数量从1人改变为2人的交互成本(右图)只需要轻轻一按。(但是,如果用户想将步进器的数量从1增加到10,步进器的交互成本会高得多;使用步进器的一个主要缺点是由于与默认值的较大偏差而增加的成本。)

当用户不知道确切值时的相对控件

由于步进是相对控制,它们可以使用户从考虑他们正在修改的变量的确切值。人们只需要考虑相对于当前状态,他们想要的价值是上升还是下降。例如,当在网页浏览器中指定所需的文本大小时,非图形设计师的人将很难决定将优化的确切数字易读性网页的一部分。

但是,他们肯定知道当前文本是否太小或(很少)太大,所以很容易使用类似CTRL-plus或CTRL-minus的阶梯式操作来使文本更大或更小一步(当然,前提是他们熟悉这些浏览器命令)。

输入步进器的缺点

很难获得

费茨法则计算人们到达目标所需的时间。无论是使用鼠标还是手指,较大的按钮都比较小的按钮快。但许多输入步进器都具有堆叠的按钮位置或较小的按钮大小。

在下面的例子中,向上和向下的箭头非常小,而且彼此挨得很近,以至于用户需要放慢速度,仔细计划自己的移动,以免在相反的方向上点击错误。

草图输入步进
创意设计编辑Sketch使用微小的垂直步进按钮来调整屏幕上组件的大小。

对默认值进行较大调整时不适用

过多的点击和轻敲可能会令人恼火。步进器不适合进行大量调整。例如,当用户需要将值从1更改为50时,输入步进器不是明智的选择。因此,步进器对于数字参数很有意义,大多数用户可能会选择一个明确的默认值。如果频繁,则会出现较大偏差如果默认值是预期值,则更适合使用不同的输入方法。

Stepper-Design指南

基于以上考虑,这里有一些设计输入步进器的一般性建议:

  • 对于具有最常选择的清晰值的数值字段使用步进器.步进器可以很好地用于具有一个常用输入值且大多数其他输入值与该值稍有偏差的字段。如果用户通常为字段输入的值范围有很大的可变性(例如,年龄或出生日期),则不适合使用步进器。
  • 将最常选择的值设置为步进默认值.这个指导方针是第一个的直接暗示。例如,1通常是预订机票的默认乘客数量,或将商品添加到购物车的默认数量,而2可能是餐厅预订的默认就餐者数量。
  • 避免连续数量的步进器.根据设计,步进字段只能取离散值,即步进增量的倍数。(不能为数量步进指定1.5项。)有时,将连续变量转换为离散变量是有意义的(例如,我们通常将年龄作为离散变量,以年计算)。然而,在许多情况下,将一个连续变量(如价格或距离)转换为一个步骤错误的离散变量可能会令人恼火或不适合用户任务。

例如,当寻找购买一所房子时,价格字段的增量为$100K将会太受限,因为一些用户可能希望输入一个不是$100K倍数的值,并且向上或向下舍入可能不会产生相同的结果。最好允许用户输入这样的连续值,而不是强迫他们使用固定增量的步进。

  • 清楚显示步进控制的磁场。清楚地指出步进器适用的表单内容。例如,如果使用步进器控件更改时间和日期,则应清楚地突出显示调整的时间或日期部分,以便用户确切地知道他们正在更改的内容。
Ns。问输入步进
Ns。荷兰铁路运营商nl使用步进器来输入时间和日期。正在更改的部分用深蓝色下划线突出显示。
  • 在台式机和手机上都使用大按钮.目标区域应该足够大,以支持输入方式。例如,对于触摸屏,我们一直推荐a最小目标尺寸为1厘米× 1厘米.尽管鼠标比指尖更精确,但也不要让按钮对桌面屏幕来说太小。
gpa输入步进
左边的例子来自于职业规划网站Handshake,调整按钮很小,即使用鼠标也很难获得。右边的示例展示了如何重新设计和改进这个UI。这两个按钮放置得更远,便于选择。

水平步进器通常比垂直步进器更好,因为垂直步进器往往比较拥挤。如果您决定垂直放置,请间隔增量和减量控件,以确保避免由于意外撞击而发生滑动。

我们建议在移动设备上水平放置步进器,考虑到使用指尖固有的精度挑战。

垂直水平输入步进器
StackExchange(左)使用垂直步进(红色突出显示)。Airbnb的移动应用程序(右)使用水平步进来调整预订的客人数量。带有分离按钮的水平放置可以在输入之间创造足够的空间,帮助用户避免意外触摸。另一方面,向上/向下的比喻更适合Stack Exchange步进器(表示有多少人对该帖子投了“赞”或“赞”的投票)。
  • 使用+/-或上/下箭头作为按钮可视化.对于水平步进器,加号和减号通常作为步段的标签是最好的。对于垂直步进器(在值的上面和下面有分段),您也可以使用向上和向下的箭头按钮,通常是可视化的标志。

左/右箭头按钮是水平步进器的一种可能,但很少推荐使用,因为它们与将内容变得更大或更小的概念没有直接联系。

  • 添加额外的输入方法.除了设计良好的步进器外,您可能还希望添加可选的输入方法,以给予用户控制和灵活性,特别是在输入值复杂或不可预测的情况下。这里有一些额外的输入方法结合步进,以使输入更有效:
    • 文本字段步进器是一种UI组件,它允许使用文本字段和侧面的步进按钮快速输入数字进行调整。用户可以选择直接输入精确的值,或者使用步进来调整默认值,如果它接近需要的值,改变它只需要几个点。这对于默认表大小为2个就餐者的餐厅预订示例来说是合适的:stepper可以很容易地用于指定单个就餐者或4人家庭,而文本输入则更适合10人组。
    • 允许长时间按或点击按钮,以更快地连续增加或减少。
    • (桌面)允许用户使用键盘箭头来增加或减少:上和下,左和右应该匹配屏幕上的按钮布局。

我们通常不推荐使用许多不同的交互技术来实现相同的目标,因为需要在多种方法之间进行学习和选择,这会给UI增加额外的开销。然而,对于步进器,替代的输入方法在视觉上并不突出,而那些只想对默认值做一个小调整的人不会因为考虑替代方法而放慢速度。

  • 明确步进值和步进范围.设计师应该明确步骤和单位(游戏邦注:如美元、美分和百分比)。另外,如果输入值有一个最大值或最小值限制,一定要指出它。通常最好是让一个步进器按下一个按钮来改变当前值,但如果任务分析表明,其他步进值可能更合适。(例如,在上面的截图中,指定一个学生的GPA,适当的步长值是整个绩点的十分之一。)
Expedia输入步进
当值达到极限时,Expedia使用一个灰色的加号段来表示。

何时使用输入步进器

使用输入步进器 在以下情况下不要使用输入步进器:
数字字段有一个最常见的选择值,大多数用户不会有微小的偏离(例如,乘客数量)。 数值字段可以接受范围很广的值(例如年龄),其中没有一个值比其他值输入得更频繁。
数字字段需要调整一个小的,离散的数量或精度不重要(例如,卧室的数量)。 数值字段是连续的,准确的值很重要。
有足够的空间使步进段有足够的间距。 按钮布局的有限设计空间会使步进段变小或狭窄。

为那些具有清晰的首选值(用户只会稍微调整)的字段实现输入步进。步进段应足够大,以防止用户错误。