Wdrażanie nawigacji po ekranie

Aplikacje często wyświetlają różne ekrany, z których każdy może korzystać z innych szablonów. Użytkownik może się między nimi poruszać, wchodząc w interakcję z interfejsem.

Klasa ScreenManager udostępnia stos ekranów, których możesz używać do wyświetlania ekranów, które można automatycznie zamykać, gdy użytkownik wybierze przycisk Wstecz na ekranie samochodu lub użyje przycisku sprzętowego Wstecz dostępnego w niektórych samochodach.

Ten kod pokazuje, jak dodać do szablonu wiadomości działanie „Wstecz” oraz działanie, które po wybraniu przez użytkownika spowoduje wyświetlenie nowego ekranu:

val header = Header.Builder()
    .setStartHeaderAction(Action.BACK)
    .build()

val template = MessageTemplate.Builder("Hello world!")
    .setHeader(header)
    .addAction(
        Action.Builder()
            .setTitle("Next screen")
            .setOnClickListener { screenManager.push(NextScreen(carContext)) }
            .build()
    )
    .build()

Obiekt Action.BACK to standardowy obiekt Action, który automatycznie wywołuje ScreenManager.pop. To zachowanie można zastąpić za pomocą instancji OnBackPressedDispatcher dostępnej w CarContext.

Aby promować bezpieczną jazdę, stos ekranów może składać się z maksymalnie 5 ekranów. Więcej informacji znajdziesz w sekcji Ograniczenia dotyczące szablonów.