ऐप्लिकेशन में अक्सर कई तरह की स्क्रीन दिखती हैं. हर स्क्रीन में अलग-अलग टेंप्लेट इस्तेमाल किए जा सकते हैं. उपयोगकर्ता, इंटरफ़ेस से इंटरैक्ट करते समय इन स्क्रीन के बीच स्विच कर सकता है.
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 इंस्टेंस का इस्तेमाल किया जा सकता है.
सुरक्षित ड्राइविंग को बढ़ावा देने के लिए, स्क्रीन स्टैक में पांच से ज़्यादा स्क्रीन नहीं होनी चाहिए. ज़्यादा जानने के लिए, टेंप्लेट से जुड़ी पाबंदियां देखें.