Wdrażanie nawigacji po ekranie

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

Klasa ScreenManager udostępnia stos ekranów, których można 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:

Kotlin

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

Java

MessageTemplate template = new MessageTemplate.Builder("Hello world!")
    .setHeaderAction(Action.BACK)
    .addAction(
        new Action.Builder()
            .setTitle("Next screen")
            .setOnClickListener(
                () -> getScreenManager().push(new NextScreen(getCarContext())))
            .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.