Как создать уведомление на основе показателя

В Android 17 появился шаблон уведомлений MetricStyle, который поддерживает приложения для здоровья и фитнеса, таймеры и приложения для путешествий.

Пример таймера с использованием MetricStyle
Рисунок 1. Шаблон уведомления MetricStyle и виджет с обновлениями в реальном времени для приложения "Часы".

Возможности

Уведомления в виде показателей обладают следующими возможностями:

  • Поддерживает использование метода setContentTitle.
  • Не показывает контекстный текст.
  • Поддерживает до трех кнопок действий.
  • Поддерживает до трех показателей.
    • Для каждого элемента Notification.Metric требуется ярлык, значение и необязательная единица измерения.
    • Внешний вид развернутого макета зависит от количества выбранных показателей.
Шаблон MetricStyle в разных состояниях
Рисунок 2. Примеры шаблона MetricStyle в разных состояниях. Слева направо: информация на заблокированном экране (AOD), продвигаемая как обновление в реальном времени, развернутый вид по умолчанию и свернутый вид по умолчанию.

Поведение

Поведение уведомления в стиле показателя зависит от его состояния:

  • Единицы измерения добавляются к ярлыку в развернутом состоянии.
  • Во второй строке свернутого состояния показатели объединены в одну строку. Второй и третий показатели появляются, только если они полностью помещаются в строку.
  • В свернутом состоянии единица измерения не показывается.
  • Каждому показателю отводится одинаковое горизонтальное пространство, независимо от его содержимого.

Как обновление в реальном времени

Если уведомление в стиле показателя преобразуется в уведомление в реальном времени, учитывайте следующее:

  • Указывать Notification.Builder#setContentTitle не нужно, так как вместо него используется значение показателя. Если заголовок не указан, будет показано название приложения.
  • Если указан параметр Notification.Builder#setSubtext, он будет показан в строке заголовка, а не перенесен на новую строку, как в случае с другими стилями продвижения.
  • Командные кнопки имеют одинаковое визуальное оформление в виде таблетки.

Важные сведения о коде

Дополнительная информация