在 Xamarin 中使用 tvOS 进度指示器

本文介绍如何设计和使用 Xamarin.tvOS 应用中的进度指示器。

有时,Xamarin.tvOS 应用需要加载新内容或执行长时间的处理操作。 这种时候,你应该显示活动指示器或进度条,让用户知道应用仍在运行,并向其提供有关正在运行的任务的长度的某种指示。

示例进度指示器

关于活动指示器

活动指示器显示为旋转的齿轮,用于表示不确定长度的任务。 该指示器在任务开始时出现,在任务完成时消失。

Apple 在使用活动指示器方面提出了以下建议:

  • 尽可能改用进度条 - 由于活动指示器无法向用户反馈正在运行的进程需要多长时间,所以如果已知进程的持续时间(例如,文件中要下载的字节数),则应始终使用进度条
  • 保持指示器动画效果 - 用户会将静止的活动指示器与停滞的应用联系起来,因此在显示指示器时应始终保持其动画效果
  • 描述正在处理的任务 - 仅仅显示活动指示器本身是不够的;用户需要了解其正在等待的进程。 包括一个有意义的明确定义任务的标签(通常是一个完整的句子)。

关于进度条

进度条显示为一条填满颜色的线,表示耗时任务的状态和时长。 当任务长度已知或可以计算时,应始终使用进度条。

Apple 对使用进度条有以下建议:

  • 准确报告进度 - 进度条应始终准确反映完成任务所需的时间。 切勿错报时间,使应用看起来很忙。
  • 用于明确定义的持续时间 - 进度条不仅应显示正在执行长时间的任务,还应向用户显示任务完成的程度以及估计的剩余时间

进度指示器和情节提要

在 Xamarin.tvOS 应用中使用进度指示器的最简单方法是使用 iOS 设计器将其添加到应用的 UI。

  1. 在 Solution Pad 中双击 Main.storyboard 文件,将其打开进行编辑。

  2. 将“活动指示器”从“工具箱”拖放到视图上:

    活动指示器

  3. 在 Properties Pad 的“小组件”选项卡中,可以调整活动指示器的多个属性,例如其“样式”、“行为”和“名称”

    活动指示器的“小组件”选项卡

    “名称”确定在 C# 代码中表示活动指示器的属性的名称。

  4. 将“进度视图”从“工具箱”拖放到视图上:

    进度视图

  5. 在“属性资源管理器”的“小组件”选项卡中,可以调整进度视图的多个属性,例如其“样式”、“进度”(完成百分比)和“名称”

    进度视图的“小组件”选项卡

    “名称”确定在 C# 代码中表示进度视图的属性的名称。

  6. 保存所做更改。

若要详细了解如何使用情节提要,请参阅 Hello, tvOS 快速入门指南

使用活动指示器

如上所述,当应用运行不确定长度的长进程时,应显示活动指示器。

可以随时通过检查活动指示器的 IsAnimating 属性来看其是否处于动画状态。 如果 HidesWhenStopped 属性为 true,则活动指示器会在其动画停止时自动隐藏。

可以使用以下代码来启动动画:

ActivityIndicator.StartAnimating();

以下代码会停止动画:

ActivityIndicator.StopAnimating();

注意

这些代码片段假定活动指示器的“名称”已在 iOS 设计器的“小组件”选项卡中设置为“ActivityIndicator”

使用进度条

同样,只要应用执行已知持续时间的长期任务,就应该使用进度条。

Progress 属性用于将已完成的任务量设置为 0% 到 100%(0.0 到 1.0)。 使用 ProgressTintColor 属性设置代表已完成任务量的条的颜色,使用 TrackTintColor 属性设置背景色(未完成任务量)。

总结

本文介绍了如何设计和使用 Xamarin.tvOS 应用中的进度指示器。