Apps haben oft mehrere verschiedene Bildschirme, die jeweils unterschiedliche Vorlagen verwenden können. Der Nutzer kann durch die Bildschirme navigieren, während er mit der Benutzeroberfläche interagiert.
Die Klasse ScreenManager bietet einen Bildschirmstapel, mit dem Sie Bildschirme einfügen können, die automatisch entfernt werden können, wenn der Nutzer auf dem Autobildschirm die Schaltfläche Zurück auswählt oder die in einigen Autos verfügbare Hardware-Schaltfläche Zurück verwendet.
In diesem Code wird gezeigt, wie Sie einer Nachrichtenvorlage eine „Zurück“-Aktion sowie eine Aktion zum Einblenden eines neuen Bildschirms hinzufügen, wenn der Nutzer sie auswählt:
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();
Das Action.BACK-Objekt ist ein Standard-Action, das automatisch ScreenManager.pop aufruft. Dieses Verhalten kann mit der OnBackPressedDispatcher-Instanz überschrieben werden, die über CarContext verfügbar ist.
Um sicheres Fahren zu fördern, darf der Bildschirmstapel aus maximal fünf Bildschirmen bestehen. Weitere Informationen finden Sie unter Vorlageneinschränkungen.