Les applications présentent souvent plusieurs écrans différents, chacun pouvant utiliser des modèles différents que l'utilisateur peut parcourir lorsqu'il interagit avec l'interface.
La classe ScreenManager fournit une pile d'écrans que vous pouvez utiliser pour envoyer des écrans qui peuvent être fermés automatiquement lorsque l'utilisateur sélectionne un bouton Retour sur l'écran de la voiture ou utilise le bouton Retour matériel disponible dans certaines voitures.
Ce code montre comment ajouter une action de retour à un modèle de message, ainsi qu'une action pour afficher un nouvel écran lorsque l'utilisateur le sélectionne :
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();
L'objet Action.BACK est un Action standard qui appelle automatiquement ScreenManager.pop. Ce comportement peut être remplacé à l'aide de l'instance OnBackPressedDispatcher disponible à partir de CarContext.
Pour favoriser une conduite sûre, la pile d'écrans ne peut pas comporter plus de cinq écrans. Pour en savoir plus, consultez Restrictions concernant les modèles.