অ্যান্ড্রয়েড বিভিন্ন ডিভাইসে চলে যেগুলির স্ক্রীনের আকার এবং পিক্সেল ঘনত্ব রয়েছে৷ সিস্টেমটি আপনার ইউজার ইন্টারফেসকে বিভিন্ন স্ক্রিনে মানিয়ে নিতে মৌলিক স্কেলিং এবং আকার পরিবর্তন করে, তবে আপনার UI কে প্রতিটি স্ক্রীনের প্রকারের সাথে আরও ভালভাবে মানিয়ে নিতে সাহায্য করার উপায় রয়েছে।
আপনার অ্যাপকে সেই অনুযায়ী মানিয়ে নিতে সাহায্য করার জন্য এই পৃষ্ঠাটি Android-এ উপলব্ধ বৈশিষ্ট্যগুলির একটি ওভারভিউ প্রদান করে৷ বিভিন্ন স্ক্রিনের বৈচিত্রের জন্য কীভাবে আপনার অ্যাপ তৈরি করবেন সে সম্পর্কে আরও নির্দিষ্ট নির্দেশাবলীর জন্য, নিম্নলিখিত ডকুমেন্টেশন দেখুন:
পর্দার মাপ
স্ক্রীন সাইজ হল আপনার অ্যাপ UI এর জন্য দৃশ্যমান স্থান। স্ক্রীনের আকার, এটি আপনার অ্যাপ দ্বারা স্বীকৃত, ডিভাইসের পর্দার প্রকৃত আকার নয়। অ্যাপ্লিকেশানগুলিকে অবশ্যই স্ক্রিন ওরিয়েন্টেশন, সিস্টেমের সাজসজ্জা—যেমন নেভিগেশন বার—এবং উইন্ডো কনফিগারেশনের পরিবর্তনগুলি বিবেচনা করতে হবে, যেমন ব্যবহারকারী যখন মাল্টি-উইন্ডো মোড সক্ষম করে৷
নমনীয় লেআউট
ডিফল্টরূপে, Android বর্তমান স্ক্রিনের সাথে মানানসই করার জন্য আপনার অ্যাপের লেআউটের আকার পরিবর্তন করে। স্ক্রিনের আকারে ছোট পরিবর্তনের জন্য আপনার লেআউটের আকার পরিবর্তন করতে সাহায্য করার জন্য, নমনীয়তার কথা মাথায় রেখে আপনার লেআউটটি বাস্তবায়ন করুন। আপনার UI উপাদানগুলির অবস্থান এবং আকার হার্ডকোড করবেন না। পরিবর্তে, প্যারেন্ট ভিউ বা অন্যান্য ভাইবোন ভিউয়ের সাপেক্ষে ভিউ মাপগুলিকে প্রসারিত করতে দিন এবং নির্দিষ্ট করুন যাতে লেআউট বাড়ার সাথে সাথে আপনার ইচ্ছাকৃত ক্রম এবং আপেক্ষিক আকার একই থাকে।
নমনীয় লেআউট সম্পর্কে আরও জানতে, প্রতিক্রিয়াশীল নকশা দেখুন।
বিকল্প লেআউট
একটি নমনীয় লেআউট গুরুত্বপূর্ণ, তবে আপনাকে বিভিন্ন লেআউট ডিজাইন করতে হবে যা বিভিন্ন ডিভাইসে উপলব্ধ স্থানের জন্য ব্যবহারকারীর অভিজ্ঞতাকে অপ্টিমাইজ করে। অ্যান্ড্রয়েড আপনাকে বিকল্প লেআউট ফাইলগুলি সরবরাহ করতে দেয় যা সিস্টেমটি বর্তমান ডিভাইসের স্ক্রীন আকারের উপর ভিত্তি করে রানটাইমে প্রযোজ্য।
কিভাবে বিকল্প লেআউট তৈরি করতে হয় তা জানতে, অভিযোজিত নকশা দেখুন।
প্রসারিত ইমেজ
যেহেতু আপনার লেআউটটি বর্তমান স্ক্রীনের সাথে মানানসই করার জন্য প্রসারিত হওয়া দরকার, তাই আপনি যেকোনও লেআউট ভিউয়ের সাথে সংযুক্ত বিটম্যাপগুলি করুন৷ যাইহোক, নির্বিচারে একটি সাধারণ বিটম্যাপ প্রসারিত করার ফলে অদ্ভুত স্কেলিং আর্টিফ্যাক্ট এবং তির্যক চিত্র হতে পারে।
এটি সমাধান করার জন্য, অ্যান্ড্রয়েড নয়-প্যাচ বিটম্যাপ সমর্থন করে, যেখানে আপনি ছোট পিক্সেল অঞ্চলগুলি নির্দিষ্ট করেন যা প্রসারিত হয়, যখন বাকি চিত্রটি আনস্কেল করা হয়।
নাইন-প্যাচ বিটম্যাপ সম্পর্কে আরও জানতে, নাইনপ্যাচ অঙ্কনযোগ্য দেখুন।
পিক্সেল ঘনত্ব
পিক্সেল ঘনত্ব হল স্ক্রিনের একটি ফিজিক্যাল এরিয়ার মধ্যে থাকা পিক্সেলের সংখ্যা। এটিকে dpi (প্রতি ইঞ্চিতে ডট) বলা হয়। এটি স্ক্রীন রেজোলিউশন থেকে ভিন্ন, যা একটি স্ক্রিনে মোট পিক্সেল সংখ্যা।
ঘনত্বের স্বাধীনতা
আপনার অ্যাপটি "ঘনত্বের স্বাধীনতা" অর্জন করে যখন এটি চিত্র 3-এ দেখানো বিভিন্ন পিক্সেল ঘনত্ব সহ স্ক্রিনে প্রদর্শিত হলে আপনার UI ডিজাইনের ভৌত আকার—ব্যবহারকারীর দৃষ্টিকোণ থেকে—সংরক্ষিত করে। ঘনত্বের স্বাধীনতা বজায় রাখা গুরুত্বপূর্ণ, কারণ এটি ছাড়া, একটি বোতামের মতো একটি UI উপাদান একটি কম-ঘনত্বের স্ক্রিনে বড় এবং একটি উচ্চ-ঘনত্বের স্ক্রিনে ছোট প্রদর্শিত হতে পারে।
অ্যান্ড্রয়েড আপনাকে ঘনত্ব-স্বাধীন পিক্সেল (dp বা ডিপ) পরিমাপের একক হিসাবে প্রদান করে ঘনত্বের স্বাধীনতা অর্জনে সহায়তা করে যা আপনি পিক্সেল (px) এর পরিবর্তে ব্যবহার করেন।
ঘনত্ব স্বাধীন পিক্সেল সম্পর্কে আরও জানতে, ঘনত্ব-স্বাধীন পিক্সেল ব্যবহার করুন দেখুন।
বিকল্প বিটম্যাপ
সমস্ত স্ক্রিনে আপনার ছবিগুলিকে তাদের সেরা দেখাতে, প্রতিটি স্ক্রীনের ঘনত্বের সাথে মেলে বিকল্প বিটম্যাপ প্রদান করুন। যদি আপনার অ্যাপ শুধুমাত্র নিম্ন-ঘনত্বের স্ক্রিনের জন্য বিটম্যাপ প্রদান করে, তাহলে Android উচ্চ-ঘনত্বের স্ক্রিনে থাকাকালীন সেগুলিকে স্কেল করে যাতে ছবিগুলি স্ক্রিনে একই শারীরিক স্থান দখল করে। এটি বিটম্যাপে দৃশ্যমান স্কেলিং শিল্পকর্মের কারণ হতে পারে। সুতরাং, আপনার অ্যাপে অবশ্যই উচ্চ রেজোলিউশনে বিকল্প বিটম্যাপ অন্তর্ভুক্ত করতে হবে।
কিভাবে বিকল্প বিটম্যাপ প্রদান করতে হয় তা জানতে, বিকল্প বিটম্যাপ প্রদান দেখুন।
ভেক্টর গ্রাফিক্স
আইকনগুলির মতো সাধারণ ধরণের চিত্রগুলির জন্য, আপনি ভেক্টর গ্রাফিক্স ব্যবহার করে প্রতিটি ঘনত্বের জন্য পৃথক চিত্র তৈরি করা এড়াতে পারেন। যেহেতু ভেক্টর গ্রাফিক্স পিক্সেলের পরিবর্তে জ্যামিতিক লাইন পাথ দিয়ে চিত্রকে সংজ্ঞায়িত করে, সেগুলি আর্টিফ্যাক্টগুলিকে স্কেলিং ছাড়াই যে কোনও আকারে আঁকা যেতে পারে।
ভেক্টর গ্রাফিক্স ব্যবহার সম্পর্কে আরও জানতে, ভেক্টর গ্রাফিক্স পছন্দ করুন দেখুন।
OS, TV, Cars এবং ChromeOS পরিধান করুন
পূর্ববর্তী সুপারিশগুলি সমস্ত Android ফর্ম ফ্যাক্টরগুলিতে প্রযোজ্য, তবে আপনি যদি Wear OS, Android TV, Android Auto, Android Automotive OS বা ChromeOS ডিভাইসগুলির জন্য একটি অ্যাপ তৈরি করতে চান তবে আপনাকে আরও কাজ করতে হবে৷
এই ধরনের প্রতিটি ডিভাইসের নিজস্ব ব্যবহারকারী ইন্টারঅ্যাকশন মডেল রয়েছে যা আপনার অ্যাপের অবশ্যই মিটমাট করা উচিত। কিছু ক্ষেত্রে, যেমন Wear OS-এর জন্য, আপনাকে আপনার অ্যাপের ব্যবহারকারীর অভিজ্ঞতা নিয়ে পুনর্বিবেচনা করতে হবে এবং সেই ডিভাইসের জন্য বিশেষায়িত একটি অ্যাপ তৈরি করতে হবে। অন্যদিকে, Google Pixelbook-এর মতো ChromeOS ডিভাইসগুলিকে সমর্থন করার জন্য, কীবোর্ড বা মাউসের মিথস্ক্রিয়া এবং একটি বড় স্ক্রীন সমর্থন করার জন্য আপনার বিদ্যমান অ্যাপে সামান্য পরিবর্তনের প্রয়োজন হতে পারে।
এই ডিভাইসগুলি সমর্থন করতে, নিম্নলিখিত ডকুমেন্টেশন পড়ুন:
- Wear OS অ্যাপ তৈরি করুন
- টিভি অ্যাপ তৈরি করুন
- গাড়ির জন্য অ্যান্ড্রয়েড ওভারভিউ
- ChromeOS ওভারভিউ-এর জন্য অ্যাপ
ফোল্ডেবল
ভাঁজ করা যায় এমন ডিভাইসে সাধারণত একাধিক ডিসপ্লে থাকে, বিভিন্ন ডিসপ্লে-বা ডিসপ্লের সংমিশ্রণ-ডিভাইস ভাঁজ করার বিভিন্ন অবস্থার জন্য সক্রিয় হয়ে ওঠে। আপনার অ্যাপকে সেই পরিবর্তনশীল কনফিগারেশনের সাথে খাপ খাইয়ে নিতে এই নথিতে নির্দেশিকা অনুসরণ করুন। যাইহোক, কিছু কনফিগারেশনে অস্বাভাবিক আকৃতির অনুপাত থাকতে পারে, তাই বিভিন্ন ডিভাইসে আপনার অ্যাপ কীভাবে আচরণ করে তা পরীক্ষা করুন।
সাধারণত, বিভিন্ন উইন্ডো আকারের জন্য মাল্টি-উইন্ডো মোডে ভাল কাজ করে এমন একটি অ্যাপ ভাঁজ করা যায় এমন ডিভাইসেও ভাল আচরণ করে।
ফোল্ডেবলের জন্য অ্যাপ তৈরি করার বিষয়ে আরও জানতে, ফোল্ডেবল সম্পর্কে জানুন দেখুন।