Windows桌面应用程序设计指南(控件篇10-进度条)

2020-04-24  本文已影响0人  烈焰虾米

使用进度条,用户可以了解一段冗长操作的具体进度。进度条可以显示完成的近似百分比(确定进度条) ,也可以显示操作正在进行(非确定进度条)。
可用性测试表明,用户对于时长超过一秒的反馈是有明确感知的。相应的,对于超过两秒的操作,应该考虑设置某种形式的进度反馈。


一个典型的进度条

何时使用该控件?

思考以下几个问题:

设计思路

在一段漫长的操作进行过程中,用户需要了解操作的大致情况,还需要知道:

即使完成进程需要的时间无法准确预测,对于需要一定时间的操作,请使用确定的进度条。不确定进度条表示进程正在进行,但不能显示其他信息。不要仅仅因为可能缺乏准确性就选择使用不确定进度条。

例如,假设一个操作需要五个步骤,并且每个步骤都需要一定时间,但是每个步骤需要的时间量可能相差很大。 在这种情况下,使用一个确定的进度条,并按照每个步骤通常所需的时间的比例,显示每个步骤完成的时间。只有当确定的进度条会导致用户错误地认为操作已锁定时,才使用不确定进度条。

只需要明确一点:

确保为冗长的操作提供进度反馈,并清楚地传达上述用户所需要知道的信息。尽可能使用确定进度条。

应用范例

确定进度条

模态确定进度条:从左向右填充代表进度的色块,并在操作完成后填充完全。
由于此状态反馈是模态的,用户在进程完成之前是不能在窗口中执行其他任务(包括模态对话框中进度条的父任务)的。

该例中,进度条给出了计算进程的反馈
带有“取消”或“停止”按钮的模态确定进度条:允许用户因为等待时间过长或不值得等待等原因中止操作。
该例中,用户可以单击“停止”以停止操作并使进程停留在当前状态。
带有动画效果以及“取消”或“停止”按钮的模态确定进度条:允许用户停止操作,并包含一个动画,以帮助用户可视化操作的效果。
示例

模态双重确定进度条:用来指示多步操作的进程。第一个进度条指示当前操作进程,第二个进度条指示整体完成进度。
因为第一个进度条提供的附加信息很少,而且可能会让人分心,所以不推荐使用这种模式。 相反,尽量让操作中的所有步骤共享一个进度条,这样单个进度条就可以一次完成。

注意⚠️该状态通常没必要,应尽量避免

非模态确定进度条:从左向右填充代表进度的色块,并在操作完成后填充完全。
与模态进度条不同,用户可以在该操作进行时执行其他任务。这些进度条可以在上下文中或状态栏中显示。

在这个例子中,Windows Internet explorer / Windows Internet Explorer 在状态栏上显示加载网页的进度。用户可以在加载页面时执行其他任务。

非确定进度条

模态非确定进度条
通过显示一个从左到右不断循环的条状的动画来表示操作正在进行。
仅用于总体进度无法确定的操作,因此没有完成的概念。确定的进度条更好一些,因为它们能表示已完成操作的大致百分比,并帮助用户确定是否值得继续等待该操作。它们在视觉上也更不容易分散注意力。

在此示例中,Windows Update使用了一个标准非确定进度条来表明程序正在更新中

非模态的非确定进度条
通过显示一个从左到右不断循环的条状的动画来表示操作正在进行。
与模态进度条不同,用户可以在非模态进度条循环的同时进行其他操作。这种进度条可以在上下文和状态栏中展示。

在此示例中,microsoft outlook 在填写联系人属性时使用了非模态不确定进度条。当进度条进行时,用户可以继续使用属性窗口进行其他操作。

计量器
仅仅表示一个百分比,和进程无关。
这个模式不是进度条,但是它是使用进度条控件来展现的。计量器在外观上和真正的进度条有明显的区别。

在该例中,计量器表示已用的硬盘容量百分比

设计指南

通用原则

错误示例:进度条展示了用于技术支持的细节信息

确定进度条

非确定进度条

非模态进度条

模态进度条

剩余时间

对于确定进度条:

如果需要节约屏幕空间:
h hrs, m mins remaining
m mins, s secs remaining
s seconds remaining
剩余 xx时,xx分
剩余 xx分,xx秒
剩余 xx秒

其他情况:
h hours, m minutes remaining
m minutes, s seconds remaining
s seconds remaining
剩余 xx时,xx分
剩余 xx分,xx秒
剩余 xx秒

在标题栏中:
剩余 01:59
剩余 00:13
这种紧凑的格式首先展示了最重要的信息,在任务栏上不会被截断显示。

错误示例:xx小时,xx分,xx秒

进度条的颜色

计量器

建议尺寸和间距

进度条的建议尺寸和间距

标签

进度条标签

进度条细节

取消按钮

进程对话框标题

错误示例:对话框的标题是进度条标签文字的重述。应该使用程序名来描述。
上一篇 下一篇

猜你喜欢

热点阅读