অ্যাপগুলিতে প্রায়শই বিভিন্ন স্ক্রিন থাকে, প্রতিটি স্ক্রিন সম্ভবত বিভিন্ন টেমপ্লেট ব্যবহার করে যা ব্যবহারকারী ইন্টারফেসের সাথে ইন্টারঅ্যাক্ট করার সময় নেভিগেট করতে পারে।
ScreenManager ক্লাসটি এমন একটি স্ক্রিন স্ট্যাক প্রদান করে যা আপনি স্ক্রিন পুশ করতে ব্যবহার করতে পারেন যা ব্যবহারকারী যখন গাড়ির স্ক্রিনে একটি ব্যাক বোতাম নির্বাচন করেন বা কিছু গাড়িতে উপলব্ধ হার্ডওয়্যার ব্যাক বোতাম ব্যবহার করেন তখন স্বয়ংক্রিয়ভাবে পপ করা যায়।
এই কোডটি দেখায় কিভাবে একটি বার্তা টেমপ্লেটে একটি ব্যাক অ্যাকশন যোগ করতে হয় এবং ব্যবহারকারী যখন নির্বাচন করে তখন একটি নতুন স্ক্রিন পুশ করার জন্য একটি অ্যাকশনও দেখায়:
কোটলিন
val template = MessageTemplate.Builder("Hello world!")
.setHeaderAction(Action.BACK)
.addAction(
Action.Builder()
.setTitle("Next screen")
.setOnClickListener { screenManager.push(NextScreen(carContext)) }
.build())
.build()
জাভা
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 ইনস্ট্যান্স ব্যবহার করে এই আচরণটি ওভাররাইড করা যেতে পারে।
নিরাপদ ড্রাইভিং প্রচারের জন্য, স্ক্রিন স্ট্যাকে পাঁচটির বেশি স্ক্রিন থাকা উচিত নয়। আরও জানতে, টেমপ্লেট সীমাবদ্ধতা দেখুন।