গাড়িতে অত্যাধুনিক, গতিশীল এবং মাল্টি-প্যানেল ইউজার এক্সপেরিয়েন্স তৈরি করতে স্কেলেবল UI ব্যবহার করুন। স্কেলেবল UI:
একটি নমনীয় জানালা ব্যবস্থা প্রদান করে।
ইউজার ইন্টারফেস বাস্তবায়নের জন্য কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) দ্বারা সৃষ্ট ইঞ্জিনিয়ারিং ঝুঁকি, খরচ এবং জটিলতা হ্রাস করে।
স্কেলেবল UI বিভিন্ন ধরনের আধুনিক ইন-ভেহিকেল ইনফোটেইনমেন্ট (IVI) ডিজাইনকে সাপোর্ট করে, যেগুলোর জন্য ডাইনামিক উইন্ডো অ্যারেঞ্জমেন্টের প্রয়োজন হয়।
অ্যান্ড্রয়েড ১৭ উন্নত উইন্ডোইং-এর জন্য নির্দিষ্ট নিম্নলিখিত বৈশিষ্ট্যগুলি চালু করেছে:
- হেডস আপ নোটিফিকেশন প্যানেল বাস্তবায়ন করুন
- সিস্টেম বারগুলি কাস্টমাইজ করুন
- WindowManager ইনভেরিয়েন্টগুলির সাথে পরীক্ষার সম্মতি সর্বাধিক করুন
- সেটআপ উইজার্ডকে একীভূত করুন
নমুনা অভিজ্ঞতা
স্কেলেবল UI অসীম বৈচিত্র্যের উইন্ডো বিন্যাসের সুযোগ দেয়। স্কেলেবল UI-এর কার্যকারিতা পরীক্ষার জন্য নিচে কয়েকটি নমুনা পরিস্থিতি দেওয়া হলো:
ভাসমান অ্যাপ সহ মানচিত্রের পটভূমি
একটি মানচিত্রের পটভূমি বিন্যাস, যার উপরে অন্যান্য অ্যাপ্লিকেশনগুলো ভাসমান অবস্থায় থাকে।
অ্যাপের পটভূমি
ভাসমান প্যানেলসহ একটি অ্যাপ্লিকেশন ব্যাকগ্রাউন্ড কনফিগারেশন।
অন্যান্য অ্যাপের অধীনে পিন করা অ্যাপ
একটি পিন করা অ্যাপ্লিকেশন, যেমন একটি উইজেট কন্টেইনার, যার উপরে অন্যান্য অ্যাপ্লিকেশন চালু হয়।
শর্তসাপেক্ষ ভাসমান প্যানেল
একটি শর্তসাপেক্ষ ভাসমান প্যানেল যা কেবল নির্দিষ্ট শর্ত পূরণ হলেই প্রদর্শিত হয়, যেমন যখন মিডিয়া চলে বা যখন কোনো অ্যালার্ট সক্রিয় হয়।
ড্রাইভারের কাছাকাছি পিন করা অ্যাপ
ড্রাইভারের কাছাকাছি অবস্থিত একটি পিন করা অ্যাপ্লিকেশন।
স্প্লিট স্ক্রিন লেআউট
একটি স্প্লিট-স্ক্রিন লেআউট, যেখানে দুটি অ্যাপ্লিকেশন পাশাপাশি প্রদর্শিত হয়।
ইন্টারেক্টিভ স্প্লিট স্ক্রিন
একটি ইন্টারেক্টিভ স্প্লিট-স্ক্রিন লেআউট যা ডাইনামিক রিসাইজিংয়ের সুবিধা দেয়।
বড় পর্দার জন্য মাল্টিঅ্যাঙ্কর লেআউট
বড় পর্দার জন্য ডিজাইন করা একটি মাল্টি-অ্যাঙ্কর লেআউট।
হোম স্ক্রিন অ্যাপ ক্যারোসেল
একটি অ্যাপ্লিকেশন ক্যারোসেল সমন্বিত হোম স্ক্রিন লেআউট।
সুবিধা এবং সম্মতি
স্কেলেবল UI-এর সুবিধাগুলোর মধ্যে রয়েছে:
পরীক্ষার ঝুঁকি হ্রাস: এই ফ্রেমওয়ার্কটি প্রি-সার্টিফাইড এবং CTS-এর সাথে সঙ্গতিপূর্ণ, যা একটি প্রোগ্রাম চক্রের শেষ পর্যায়ে পরীক্ষা ব্যর্থতার প্রধান ঝুঁকি দূর করে। এর স্কেলেবল UI কয়েক মাসের ইঞ্জিনিয়ারিং প্রচেষ্টা বাঁচাতে পারে এবং কমপ্লায়েন্স প্রক্রিয়াকে ত্বরান্বিত করে।
ডিজাইনের অধিক নমনীয়তা: বিদ্যমান অসংখ্য জটিল অটোমোটিভ উইন্ডোয়িং মডেল পুনরায় তৈরি করার প্রমাণিত সক্ষমতা। পরিবর্ধনযোগ্য UI উচ্চাকাঙ্ক্ষী এবং অত্যন্ত স্বতন্ত্র ডিজাইনকে সমর্থন করে।
বাস্তবায়ন জটিলতা কম: একটি উচ্চ-স্তরের, কনফিগারেশন-চালিত XML মডেলে বিমূর্তকরণ কাস্টম উইন্ডোয়িং লজিকের জন্য প্রবেশের বাধা কমিয়ে দেয়।
উন্নত পারফরম্যান্স: স্কেলেবল UI একটি উচ্চ-পারফরম্যান্স উইন্ডোয়িং ফাউন্ডেশনের উপর চলে, যা স্ট্যান্ডার্ড অ্যান্ড্রয়েডের সাথে সম্পূর্ণরূপে সমন্বিত। ট্রানজিশনগুলো সাবলীলভাবে প্রবাহিত হয়, যা সরাসরি অপটিমাইজেশনের সুযোগ দেয়।
মূল বিল্ডিং ব্লক
স্কেলেবল UI OEM-নির্দিষ্ট কোডের প্রয়োজনীয়তা হ্রাস করে, আপডেট করার সুবিধা বাড়ায় এবং সম্ভাব্য ত্রুটি দূর করে ও সার্টিফিকেশন সংক্রান্ত সমস্যা কমিয়ে লঞ্চের ঝুঁকি হ্রাস করে।
এক্সএমএল-চালিত পদ্ধতিটি অ্যান্ড্রয়েড অটোমোটিভ ওএস (AAOS)-এ জটিল উইন্ডোইং সিস্টেম পরিচালনার ক্ষেত্রে সাধারণ সমস্যাগুলো, যেমন—সুনির্দিষ্ট অবস্থান, জেড-অর্ডার দ্বন্দ্ব এবং অ্যাপ ফোকাস, সমাধান করে।
স্কেলেবল UI এই মূল উপাদানগুলো সরবরাহ করে।
প্যানেল
প্যানেল হলো স্ক্রিনের মৌলিক আয়তাকার কন্টেইনার। স্বাধীন ব্যবস্থাপনার জন্য প্রতিটি প্যানেল একটি নির্দিষ্ট রুট টাস্কের সাথে সংযুক্ত থাকে। একটি প্যানেলে অ্যাপ টাস্ক ( TaskPanel ) অথবা উইজেটের ( DecorPanel ) মতো ভিউ-ভিত্তিক কন্টেন্ট থাকতে পারে। আরও জানতে, ‘একটি প্যানেল কনফিগার করুন ’ দেখুন।
ভেরিয়েন্ট
একটি ভ্যারিয়েন্ট কোনো প্যানেলের জন্য একটি নির্দিষ্ট ভিজ্যুয়াল স্টেট নির্ধারণ করে এবং এতে bounds (অবস্থান ও আকার), visibility , layer (জেড-অর্ডার) এবং corner রেডিয়াসের মতো প্রোপার্টি অন্তর্ভুক্ত থাকে। একটি একক প্যানেলের একাধিক ভ্যারিয়েন্ট থাকতে পারে, যেমন opened , closed বা minimized । আরও জানতে, ভিজ্যুয়াল স্টেট ডিজাইন করার জন্য ভ্যারিয়েন্টের ব্যবহার দেখুন।
রূপান্তর
একটি ট্রানজিশন নির্ধারণ করে যে, একটি প্যানেল কীভাবে তার বর্তমান অবস্থা fromVariant থেকে একটি নতুন অবস্থা ` toVariant এ স্থানান্তরিত হয়। একটি Event ট্রানজিশনটিকে ট্রিগার করে, যা অবস্থা পরিবর্তনের সময় প্যানেলটির ব্যবহৃত অ্যানিমেশনটি নির্ধারণ করে। একটি প্যানেলকে তার বর্তমান অবস্থা থেকে toVariant অবস্থায় যেতে হবে। সিনক্রোনাইজেশনের জন্য, কোর উইন্ডো ম্যানেজার সমস্ত ট্রানজিশনগুলোকে অ্যানিমেট ও সমন্বয় করে।
- ইভেন্ট: UI পরিবর্তন শুরু করার একটি ট্রিগার। একজন OEM বা সিস্টেম একটি ট্রিগার আগে থেকে নির্ধারণ করে রাখতে পারে। উদাহরণস্বরূপ,
_System_OnHomeEvent,_System_TaskOpenEvent, অথবা একটি কাস্টম নেভিগেশন বাটন প্রেস।
উদাহরণস্বরূপ, স্কেলেবল UI ট্রানজিশন ট্রিগার করতে ইভেন্ট ব্যবহার করে। এই ট্রানজিশনগুলো UI-তে ডায়নামিক পরিবর্তন দেখানোর জন্য একটি প্যানেলকে এক ভ্যারিয়েন্ট থেকে অন্যটিতে অ্যানিমেট করে। প্রয়োজন অনুযায়ী কন্টেন্ট অ্যাডজাস্ট করার জন্য স্কেলেবল UI এই পরিবর্তনগুলো অন্যান্য সিস্টেম অ্যাপে জানিয়ে দেয়। XML-এ UI সম্পর্কগুলো সংজ্ঞায়িত করার মাধ্যমে, আপনি যা করতে পারেন:
জটিল UI আচরণ নির্দিষ্ট করুন: জটিল ইউজার ইন্টারফেস ইন্টারঅ্যাকশন সংজ্ঞায়িত করুন।
উইন্ডো সিস্টেম বিন্যস্ত করুন: উইন্ডোর অবস্থান ও স্তরবিন্যাস নিয়ন্ত্রণ করুন।
ভিজ্যুয়াল থিম প্রয়োগ করুন: সামঞ্জস্যপূর্ণ ব্র্যান্ডিং ও নান্দনিকতা বজায় রাখুন।
কোডের জটিলতা হ্রাস করুন: ব্যাপক কাস্টম কোড তৈরির প্রয়োজনীয়তা কমিয়ে আনুন।
আরও জানতে, ‘ট্রানজিশন কনফিগার করুন’ দেখুন।
সিস্টেম UI বোতাম
ইন্টেন্ট ট্রিগার করার পাশাপাশি, CarSystemBarButtons ট্যাপ করা হলে event , selectedEvent , এবং unselectedEvent অ্যাট্রিবিউট ব্যবহার করে একটি স্কেলেবল UI ইভেন্টও ট্রিগার করতে পারে।
বাটনটি ট্যাপ করা হলে কোন ইভেন্টটি ট্রিগার হবে তা ` event দ্বারা বর্ণনা করা হয়। কোনো ইভেন্টের উপর আরও সূক্ষ্ম নিয়ন্ত্রণের প্রয়োজন হলে, বাটনটি সিলেক্ট বা আনসিলেক্ট করা হলে যথাক্রমে কোন ইভেন্টটি ট্রিগার হবে তা নির্দিষ্ট করতে ` selectedEvent এবং unselectedEvent অ্যাট্রিবিউট ব্যবহার করুন।
কখন সিস্টেম UI প্রয়োগ করতে হবে
এই অংশে স্কেলেবল ইউআই-এর সর্বোত্তম ব্যবহার বর্ণনা করা হয়েছে।
- স্থায়ী মাল্টিপ্যানেল লেআউট তৈরি করুন
- একটি গতিশীল বাড়ির দৃশ্য বাস্তবায়ন করুন
- প্রাসঙ্গিক ওভারলে প্রয়োগ করুন
- জটিল প্যানেল মিথস্ক্রিয়া ডিজাইন করুন
স্থায়ী মাল্টিপ্যানেল লেআউট তৈরি করুন
একটি মাল্টি-জোন অভিজ্ঞতা তৈরি করুন যেখানে স্ক্রিনের বিভিন্ন অংশ নির্দিষ্ট ফাংশনের জন্য স্থায়ীভাবে বরাদ্দ থাকবে। উদাহরণস্বরূপ, ডেডিকেটেড মিডিয়া কন্ট্রোল, একটি ক্লাইমেট স্ট্রিপ, বা একটি ফুল-স্ক্রিন ম্যাপ।
প্রধান অ্যাপগুলোর (যেমন নেভিগেশন) জন্য TaskPanels এবং ভিউ-এর আকারে থাকা UI এলিমেন্টগুলোর জন্য DecorPanels ব্যবহার করুন, যেগুলোকে অবশ্যই TaskPanels মধ্যে রাখতে হবে।
একটি গতিশীল বাড়ির দৃশ্য বাস্তবায়ন করুন
একটি হোম সিন তৈরি করুন যা একাধিক, একই সাথে দৃশ্যমান এবং ইন্টারেক্টিভ অ্যাপ প্যানেল দ্বারা গঠিত। উদাহরণস্বরূপ, ম্যাপ, মিডিয়া প্লেয়ার এবং অ্যাপ গ্রিড।
সমস্ত প্রাসঙ্গিক প্যানেলকে তাদের opened বা default হোম সংস্করণে পরিবর্তন করতে, _System_HomeEvent কনফিগার করুন।
প্রাসঙ্গিক ওভারলে প্রয়োগ করুন
অ্যাপের কাজের সাথে সমন্বয় করে অ্যানিমেট করা যায় এমন নন-অ্যাপ UI উপাদান, যেমন প্রাসঙ্গিক উইজেট, কাস্টম ব্র্যান্ডিং এবং ড্র্যাগ বার রাখুন।
সম্পূর্ণরূপে আলংকারিক বা উইজেট ধারণকারী সকল উপাদানের জন্য DecorPanels ব্যবহার করুন। যদি কোনো উইজেট একটি সম্পূর্ণ কার্যকরী ও চালুযোগ্য অ্যাপ ধারণ করে, তবে Panel > TaskPanel সবচেয়ে উপযুক্ত। ভিউ-ভিত্তিক UI উপাদানের জন্য DecorPanels ব্যবহার করুন, যখন লেয়ারিংকে TaskPanel লেয়ারিংয়ের সাথে সিঙ্ক্রোনাইজ করতে হয়।
জটিল প্যানেল মিথস্ক্রিয়া ডিজাইন করুন
উন্নত ব্যবহারকারী-চালিত অ্যাকশন ডিজাইন করুন, যেমন মূল ডিসপ্লে কন্টেন্টের উপর ভিত্তি করে অ্যাপ প্যানেলের আকার গতিশীলভাবে পরিবর্তন করা বা ইন্সট্রুমেন্ট ক্লাস্টার ভিউ সামঞ্জস্য করা।
নির্দিষ্ট, সিস্টেম-স্ট্যান্ডার্ড নয় এমন Transitions ট্রিগার করার জন্য কাস্টম Events সংজ্ঞায়িত করুন।