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.