以进度为中心的通知

Android 16 引入了以进度为中心的通知,可帮助用户顺畅地跟踪用户发起的端到端历程。

Notification.ProgressStyle 是一种新的通知样式,可让您创建以进度为中心的通知。主要用例包括共享车辆、送货和导航。在 Notification.ProgressStyle 类中,您可以使用细分来表示用户体验历程中的状态和里程碑。

锁屏上显示的以进度为中心的通知。
在通知栏中显示的以进度为中心的通知。

相关类和方法

以下类包含用于构建 ProgressStyle 通知的不同 API:

结构和自定义

以下图片显示了构成 ProgressStyle 通知的不同部分:

ProgressStyle 通知的不同部分。
应用可以为追踪器图标设置车辆图片,并使用细分和数据点来表示共享行程体验和里程碑。

最佳做法

请遵循以下最佳实践,以便通过以进度为中心的通知提供尽可能出色的用户体验:

  • 使用合适的视觉元素引导用户完成整个历程。例如,共享车应用应使用 Notification#setLargeIcon 设置车辆图片以及共享车体验中所用车辆最准确的颜色
  • 使用简洁明了的语言来定义该用户体验历程的进度。 到达时间、司机姓名和行程状态是应在通知中传达的重要文本。
  • 在通知中提供实用且相关的操作,有助于简化用户体验历程。例如,在餐食送达之前,为新发起的订单提供小费或添加其他菜肴都是可执行的操作。
  • 使用线段来表示状态。例如,使用线段为共享行程中的交通状态和时长着色,并使用数据点来表示里程碑、食物准备、送餐和乘客上车状态。
  • 经常准确更新进度体验,以匹配历程的实际进度。例如,变化的交通状况可以反映在路段颜色变化和文本更新中。

以下代码段展示了如何将 ProgressStyle 通知用于共享车辆情境:

var ps =
    Notification.ProgressStyle()
        .setStyledByProgress(false)
        .setProgress(456)
        .setProgressTrackerIcon(Icon.createWithResource(appContext, R.drawable.ic_car_red))
        .setProgressSegments(
            listOf(
                Notification.ProgressStyle.Segment(41).setColor(Color.BLACK),
                Notification.ProgressStyle.Segment(552).setColor(Color.YELLOW),
                Notification.ProgressStyle.Segment(253).setColor(Color.WHITE),
                Notification.ProgressStyle.Segment(94).setColor(Color.BLUE)
            )
        )
        .setProgressPoints(
            listOf(
                Notification.ProgressStyle.Point(60).setColor(Color.RED),
                Notification.ProgressStyle.Point(560).setColor(Color.GREEN)
            )
        )

请注意,在此示例中,为追踪器图标设置了车辆图片,并使用路段和点来表示共享行程体验和里程碑,以提供更完整的用户体验。