进度条 (Windows)

出自UXGuide.net

(重定向自Progress Bar (Windows)
跳转到: 导航, 搜索

进度条
Progress Bars

目录


进度条(Progress Bar)用于查看长时间操作的进度。进度条不仅可以显示大致的完成百分比(确定性,determinate),也可以显示操作正在进行中(非确定性,indeterminate)。

可用性研究表明,当响应时间超过一秒钟时,用户便能够有所察觉。因此,你得考虑为那些需要 2 秒甚至更长时间的操作提供某种类型的进度反馈信息。

Aa511486_ProgressBars01(en-us,MSDN_10).png

典型的进度条。

注:布局相关的设计规范请参考各自相应的章节。


它用在这里合适吗?

考虑下列问题以进行判断:

Aa511486_ProgressBars17(en-us,MSDN_10).png
在这个示例中,滑块用于指示声音播放的进度。这使得用户能够在稍后进行回放。


设计理念

在一个耗时操作的过程中,用户需要对该操作正在干什么有一个大致的概念。他们也需要知道:

应当将确定性进度条用于那些有确定时间界限的操作,即使其中大部分时间都无法进行精确预测时也同样如此。非确定性进度条除了说明操作仍在进行中之外,无法提供任何其他信息。不要仅仅因为不够精确,就选用非确定性进度条。

例如,假设一个操作需要五个步骤,每个步骤所需要的时间是有确定界限的,但是每个步骤所需的时间相差很大。这种情况下,应使用确定性进度条,并根据每个步骤通常所耗时间的比例来显示进度。只有当使用确定性进度条可能会令用户以为操作被锁死时,才应使用非确定性进度条。


最重要的一件事:

确保为耗时操作提供了进度反馈,且清晰地展现了上述信息。只要有可能,就应当使用确定性进度条。


使用模式

进度条具有以下使用模式:


确定性进度条

模式(Modal)确定性进度条

通过从左至右进行填充来表示操作的进度。操作完成时也填充完成。

因为这个反馈是<a href="../../glossary.aspx">模式</a>的,在任务完成之前,用户无法执行窗口中的其他任务(如果进度条显示在模式对话框中,那指其父窗口)。

Aa511486_ProgressBars03(en-us,MSDN_10).png

在这个示例中,进度条用于在配置过程中提供反馈。

带有取消或停止按钮的模式确定性进度条

允许用户中止该操作,可能是因为该操作需要耗费太多时间或者不值得等待。

Aa511486_ProgressBars05(en-us,MSDN_10).png

在这个示例中,用户可以单击 Stop(停止)以中止该操作并保留当前环境状态。

带有取消或停止按钮及动画的模式确定性进度条

允许用户中止该操作,同时包含一个动画,以帮助用户将操作的效果形象化。

Aa511486_ProgressBars07(en-us,MSDN_10).png

在这个示例中,用户可以单击 Stop(停止)以中止该操作并保留当前环境状态。

模式确定性双进度条

通过在第一个进度条中显示当前步骤的进度,及在第二个进度条中显示整体进度,来显示多步骤操作的进度。

由于第一个进度条并不能提供多少额外的信息,而且很容易让人分心,因此该模式并不推荐使用。另外的方法是,将每个操作步骤都作为整体进度的一个部分,并使用一个单独的进度条一次完成。

Aa511486_ProgressBars09(en-us,MSDN_10).png

在这个示例中,第一个进度条显示当前步骤的进度,第二个进度条中显示整体进度。

注:该模式通常是不必要的,应当避免使用。

无模式(modeless)确定性进度条

通过从左至右进行填充来表示操作的进度。操作完成时也填充完成。

与模式进度条不同,用户能够在操作进行的过程中完成其他任务。这类进度条可以在上下文相关位置或状态栏中显示。

Aa511486_ProgressBars13(en-us,MSDN_10).png

在这个示例中,Windows® Internet Explorer® 加载网页时在状态栏中显示进度条。用户可以在页面加载的过程中完成其他任务。


非确定性进度条

模式非确定性进度条

通过显示持续不断从左至右贯穿进度条的动画来指示操作正在进行中。

仅用于整体进度无法确定的操作,因此对什么时候完成完全没有概念。如果能用确定性进度条则更好,因为能够指示该操作大致完成的百分比,并能够帮助用户确定该操作是否值得继续等待。它们在视觉上的干扰都不大。

Aa511486_ProgressBars11(en-us,MSDN_10).png

在这个示例中,Windows Update 在查找更新时,使用了一个模式非确定性进度条来指示进度。

无模式非确定性进度条

通过显示持续不断从左至右贯穿进度条的动画来指示操作正在进行中。

与模式进度条不同,用户可以在处理过程中同时进行其他的任务。这种进度条可以在上下文相关位置或状态栏中显示。

Aa511486_ProgressBars15(en-us,MSDN_10).png

在这个示例中,Microsoft Outlook® 在填充联系人属性时使用了无模式的非确定性进度条。用户在其过程中可以继续使用该属性窗口。


量表

量表

指示与进度无关的百分比值。

该模式并不是进度条,但它是通过进度条控件来实现的。量表具有特别的外观以与真正的进度条进行区别。

Aa511486_ProgressBars55(en-us,MSDN_10).png

在这个示例中,量表显示出已经使用的磁盘空间百分比。


设计规范

常规

Aa511486_ProgressBars21(en-us,MSDN_10).png
在这个示例中,用户可以看到传输速率。此处的低传输速率意味着需要使用高带宽的网络连接。
正确:
Aa511486_ProgressBars33(en-us,MSDN_10).png
在这个示例中,带标签的进度条恰到好处。
正确:
Aa511486_ProgressBars29(en-us,MSDN_10).png
在这个示例中,Windows Explorer 正在复制用户选中的文件,因此显示正在复制的文件名是合理的。
错误:
Aa511486_ProgressBars35(en-us,MSDN_10).png
在这个示例中,安装程序为用户提供了没有意义的信息。
Aa511486_ProgressBars25(en-us,MSDN_10).png
在这个示例中,没有回收站强调了文件会被彻底删除。仅用文本则无法如此有效地传达这类附加信息。
错误:
Aa511486_ProgressBars37(en-us,MSDN_10).png
在这个示例中,进度条显示的是用于技术支持的信息。
错误:
Aa511486_ProgressBars39(en-us,MSDN_10).png
在这个示例中,进度条上的百分比文本不满足无障碍要求。
Don't use vertical progress bars. Horizontal progress bars have a more natural mapping and better flow.


确定性进度条

错误:
Aa511486_ProgressBars41(en-us,MSDN_10).png
在这个示例中,操作进入复制文件步骤,并为这个步骤重置了进度条。现在,用户完全不知道进度如何,还需要多少时间。

非确定性进度条

正确:
Aa511486_ProgressBars54(en-us,MSDN_10).png
在这个示例中,只使用了动画以显示某操作正在进行中。


无模式进度条

Aa511486_ProgressBars58(en-us,MSDN_10).png
在这个示例中,无模式进度显示在了地址栏中。
Aa511486_ProgressBars59(en-us,MSDN_10).png
在这个示例中,无模式进度显示在了状态栏中。


模式进度条

正确:
Aa511486_ProgressBars27(en-us,MSDN_10).png
在这个示例中,中止网络连接不会留下任何副作用,因此使用“取消”。
正确:
Aa511486_ProgressBars29b(en-us,MSDN_10).png
在这个示例中,中止复制不会删除那些已经复制好的文件,因此该命令按钮被标为“停止”。
错误:
Aa511486_ProgressBars31(en-us,MSDN_10).png
在这个示例中,中止搜索不会留下任何副作用,因此该命令按钮应当标为“取消”。


剩余时间

对于确定性进度条:

对于进度条:
如果相关信息是以冒号格式显示的:
Time remaining: h hours, m minutes(剩余时间:h 小时 m 分)
Time remaining: m minutes, s seconds(剩余时间:m 分 s 秒)
Time remaining: s seconds(剩余时间:s 秒)
如果屏幕空间紧张:
h hrs, m mins remaining(剩余 h 小时 m 分)
m mins, s secs remaining(剩余 m 分 s 秒)
s seconds remaining(剩余 s 秒)
否则:
h hours, m minutes remaining(剩余 h 小时 m 分)
m minutes, s seconds remaining(剩余 m 分 s 秒)
s seconds remaining(剩余 s 秒)
对于标题栏:
hh:mm remaining(hh:mm 剩余)
mm:ss remaining(mm:ss 剩余)
0:ss remaining(0:ss 剩余)
该精简格式先显示最重要的信息,以使其不会在任务栏上被截断。
错误:
hh hours, mm minutes, ss seconds(hh 小时 mm 分 ss 秒)
错误:
1 minutes, 1 seconds


量表


推荐尺寸与间距

Aa511486_ProgressBars57(en-us,MSDN_10).png

用于进度条的推荐尺寸与间距


标签

进度条标签

Aa511486_ProgressBars43(en-us,MSDN_10).png
在这个示例中,用户被告知需要等待,因为用户并没有直接引发该操作。


进度条细节信息

正确:
Aa511486_ProgressBars45(en-us,MSDN_10).png
在这个示例中,正确地为细节信息使用了标签。
错误:
Aa511486_ProgressBars47(en-us,MSDN_10).png
在这个示例中,没有为细节信息使用标签,这使得需要用户来确定其含义。


取消按钮


进度对话框标题

正确:
Aa511486_ProgressBars51(en-us,MSDN_10).png
在这个示例中,将任务名称用作对话框标题。
错误:
Aa511486_ProgressBars53(en-us,MSDN_10).png
在这个示例中,对话框标题是对进度条标签的重复。应当改用程序名称。
个人工具
名字空间
变换
动作
导航
工具箱