Tworzenie powiadomienia dotyczącego postępu

powiadomienie o postępach w górnym obszarze
Rysunek 1. Powiadomienie o postępach u góry obszaru powiadomień.

Android 16 wprowadza nowy szablon powiadomień, który ułatwia użytkownikom śledzenie rozpoczętych przez nich podróży od początku do końca. Te powiadomienia są lepiej widoczne na powierzchniach systemowych i znajdują się na górze panelu powiadomień.

Używaj Notification.ProgressStyle do stylizowania powiadomień dotyczących postępów. Najważniejsze przypadki użycia obejmują przejazdy, dostawy i nawigację. W ramach tej klasy możesz oznaczać stany i kamienie milowe na ścieżce użytkownika za pomocą punktów i segmentów.

Odpowiednie klasy

Te klasy zawierają różne interfejsy API, których używasz do tworzenia powiadomień ProgressStyle:

Anatomia i dostosowywanie

Poniższe obrazy przedstawiają różne elementy powiadomień ProgressStyle:

Rysunek 2.

A. Nagłówek – dodatkowy tekst

Notification.Builder#setSubText()

B. Nagłówek – czas

Notification.Builder#setWhen()

C. Tytuł treści

Notification.Builder#setContentTitle()

D. Tekst treści

Notification.Builder#setContentText()

E. Pasek postępu

Notification.ProgressStyle

F. Przycisk polecenia

Notification.Builder#addAction()

Rysunek 3. Aplikacje mogą ustawić obraz pojazdu jako ikonę śledzenia oraz używać segmentów i punktów do oznaczania przejazdów i etapów.

Sprawdzone metody

Aby zapewnić użytkownikom jak najlepsze wrażenia podczas aktualizowania postępów, używaj odpowiednich interfejsów API i stosuj sprawdzone metody.

  • Ustaw odpowiednie pola, aby uzyskać promowaną widoczność w obszarze powiadomień.
  • Używaj odpowiednich elementów wizualnych, aby ułatwić użytkownikom korzystanie z aplikacji. Na przykład aplikacje do wspólnych przejazdów powinny ustawić obraz pojazdu i użyć w powiadomieniu najbardziej zbliżonego koloru pojazdu za pomocą Notification#setLargeIcon.
  • Używaj zwięzłego i jasnego języka, aby określić postępy na ścieżce użytkownika. Czas przyjazdu, imię i nazwisko kierowcy oraz stan podróży to ważne informacje, które powinny być przekazywane w powiadomieniu.
  • Zapewnij w powiadomieniu przydatne i istotne działania, które ułatwią użytkownikowi korzystanie z aplikacji. Na przykład „Dodaj napiwek” i „Dodaj danie” to przydatne działania, które można wykonać przed dostawą, gdy zamówienie zostało dopiero złożone.
  • Użyj segmentów i punktów, aby oznaczyć stany. Na przykład segmenty mogą kolorować stan i czas trwania ruchu podczas wspólnego przejazdu. Punkty reprezentują stany etapów, takich jak przygotowanie jedzenia, dostawa i odbiór pasażera.
  • Zaktualizuj informacje o postępach, aby dokładnie odzwierciedlały rzeczywisty postęp podróży. Na przykład zmiany warunków na drodze mogą być odzwierciedlane przez zmiany kolorów segmentów i aktualizacje tekstu.

Poniższy fragment kodu pokazuje, jak można użyć powiadomienia ProgressStyle w kontekście przejazdu:

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)
            )
        )

Aby poeksperymentować z tymi interfejsami API, zapoznaj się z przykładową aplikacją.