應用程式通常會顯示多個不同畫面,每個畫面可能使用不同的範本,使用者與介面互動時可瀏覽這些畫面。
ScreenManager 類別提供螢幕堆疊,可用於推送螢幕,當使用者在車輛螢幕上選取「返回」按鈕,或使用部分車輛提供的硬體「返回」按鈕時,系統會自動彈出螢幕。
這段程式碼說明如何將返回動作新增至訊息範本,以及在使用者選取時推送新畫面的動作:
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();
Action.BACK 物件是標準 Action,會自動叫用 ScreenManager.pop。您可以使用 CarContext 提供的 OnBackPressedDispatcher 例項覆寫這項行為。
為確保行車安全,螢幕堆疊最多只能包含五個螢幕。詳情請參閱「範本限制」。