পর্দা নেভিগেশন বাস্তবায়ন

অ্যাপগুলোতে প্রায়শই বিভিন্ন ধরনের স্ক্রিন দেখা যায়, যেগুলোর প্রতিটিতে সম্ভবত ভিন্ন ভিন্ন টেমপ্লেট ব্যবহার করা হয় এবং ব্যবহারকারী ইন্টারফেসের সাথে মিথস্ক্রিয়া করার সময় সেগুলোর মধ্যে দিয়ে নেভিগেট করতে পারেন।

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 ইনস্ট্যান্সটি ব্যবহার করে এই আচরণটি ওভাররাইড করা যেতে পারে।

নিরাপদ ড্রাইভিং নিশ্চিত করতে, স্ক্রিন স্ট্যাকে পাঁচটির বেশি স্ক্রিন থাকতে পারবে না। আরও জানতে, টেমপ্লেট সীমাবদ্ধতা দেখুন।