<সাপোর্ট করে-স্ক্রিন>

বাক্য গঠন:
<supports-screens android:resizeable=["true"| "false"]
                  android:smallScreens=["true" | "false"]
                  android:normalScreens=["true" | "false"]
                  android:largeScreens=["true" | "false"]
                  android:xlargeScreens=["true" | "false"]
                  android:anyDensity=["true" | "false"]
                  android:requiresSmallestWidthDp="integer"
                  android:compatibleWidthLimitDp="integer"
                  android:largestWidthLimitDp="integer"/>
মধ্যে:
<manifest>
বর্ণনা:

আপনার অ্যাপ্লিকেশন সমর্থন করে এমন স্ক্রীনের আকারগুলি আপনাকে নির্দিষ্ট করতে দেয় এবং আপনার অ্যাপ্লিকেশন যা সমর্থন করে তার চেয়ে বড় স্ক্রীনগুলির জন্য স্ক্রীন সামঞ্জস্য মোড সক্ষম করে৷ এটি গুরুত্বপূর্ণ যে আপনি সর্বদা আপনার অ্যাপ্লিকেশনটিতে এই উপাদানটি ব্যবহার করুন আপনার অ্যাপ্লিকেশন সমর্থন করে এমন স্ক্রীনের আকারগুলি নির্দিষ্ট করতে৷

দ্রষ্টব্য: স্ক্রীন সামঞ্জস্যপূর্ণ মোড এমন একটি মোড নয় যাতে আপনি আপনার অ্যাপ্লিকেশনটি চালাতে চান৷ এটি জুম করার কারণে আপনার UI-তে পিক্সেলেশন এবং ঝাপসা করে৷ আপনার অ্যাপ্লিকেশনটি বড় স্ক্রিনে ভালভাবে কাজ করার সঠিক উপায় হল স্ক্রীন সামঞ্জস্যের ওভারভিউ অনুসরণ করা এবং বিভিন্ন স্ক্রীন মাপের জন্য বিকল্প লেআউট প্রদান করা।

একটি অ্যাপ্লিকেশন একটি প্রদত্ত স্ক্রীনের আকারকে "সমর্থন করে" যদি এটি পুরো স্ক্রীনটি পূরণ করতে সঠিকভাবে আকার পরিবর্তন করে। সিস্টেম দ্বারা প্রয়োগ করা সাধারণ আকার পরিবর্তন বেশিরভাগ অ্যাপ্লিকেশনের জন্য ভাল কাজ করে এবং আপনার অ্যাপ্লিকেশনটি হ্যান্ডসেট ডিভাইসের চেয়ে বড় স্ক্রীনে কাজ করার জন্য আপনাকে কোনও অতিরিক্ত কাজ করতে হবে না।

যাইহোক, এটি প্রায়শই গুরুত্বপূর্ণ যে আপনি বিকল্প লেআউট সংস্থান প্রদান করে বিভিন্ন স্ক্রীন আকারের জন্য আপনার অ্যাপ্লিকেশনের UI অপ্টিমাইজ করুন৷ উদাহরণস্বরূপ, আপনি একটি হ্যান্ডসেট ডিভাইসে চলার তুলনায় একটি ট্যাবলেটে থাকাকালীন একটি কার্যকলাপের বিন্যাস পরিবর্তন করতে চাইতে পারেন।

যাইহোক, যদি আপনার অ্যাপ্লিকেশনটি বিভিন্ন স্ক্রীনের আকারের সাথে মানানসই করার জন্য পুনরায় আকার দেওয়ার সময় ভালভাবে কাজ না করে, তাহলে আপনার অ্যাপ্লিকেশনটি শুধুমাত্র ছোট স্ক্রিনে বিতরণ করা হয়েছে কিনা বা এর UI স্কেল করা হয়েছে কিনা তা নিয়ন্ত্রণ করতে আপনি <supports-screens> উপাদানের বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন। সিস্টেমের স্ক্রিন সামঞ্জস্যতা মোড ব্যবহার করে বড় স্ক্রীনে ফিট করতে "জুম করা হয়েছে"।

আপনি যদি বড় পর্দার আকারের জন্য ডিজাইন না করেন এবং স্বাভাবিক আকার পরিবর্তন করে উপযুক্ত ফলাফল না পাওয়া যায়, তাহলে স্ক্রীন সামঞ্জস্যপূর্ণ মোড একটি সাধারণ আকারের স্ক্রীন এবং মাঝারি ঘনত্ব অনুকরণ করে আপনার UI স্কেল করে। এটি তখন জুম ইন করে যাতে এটি পুরো স্ক্রিনটি পূরণ করে। সচেতন থাকুন যে এটি আপনার UI এর পিক্সেলেশন এবং অস্পষ্টতা সৃষ্টি করে, তাই আপনি যদি বড় স্ক্রিনের জন্য আপনার UI অপ্টিমাইজ করেন তবে এটি আরও ভাল।

দ্রষ্টব্য: Android 3.2 নতুন বৈশিষ্ট্যগুলি প্রবর্তন করেছে: android:requiresSmallestWidthDp , android:compatibleWidthLimitDp , এবং android:largestWidthLimitDp ৷ আপনি যদি অ্যান্ড্রয়েড 3.2 এবং উচ্চতর সংস্করণের জন্য আপনার অ্যাপ্লিকেশান তৈরি করছেন, তাহলে সাধারণ স্ক্রিন আকারের উপর ভিত্তি করে বৈশিষ্ট্যগুলির পরিবর্তে আপনার স্ক্রীনের আকার সমর্থন ঘোষণা করতে এই বৈশিষ্ট্যগুলি ব্যবহার করুন৷

পর্দা সামঞ্জস্য মোড সম্পর্কে

স্ক্রীন কম্প্যাটিবিলিটি মোড হল এমন অ্যাপগুলির জন্য একটি শেষ অবলম্বন যা বড় স্ক্রীনের মাপের সুবিধা নেওয়ার জন্য সঠিকভাবে ডিজাইন করা হয়নি৷ এটি এমন একটি মোড নয় যা আপনি আপনার অ্যাপটি চালাতে চান, কারণ এটি একটি দুর্বল ব্যবহারকারীর অভিজ্ঞতা দিতে পারে। অ্যাপটি যে ডিভাইসে চলে তার উপর ভিত্তি করে স্ক্রিন কম্প্যাটিবিলিটি মোডের দুটি সংস্করণ রয়েছে।

অ্যান্ড্রয়েড সংস্করণ 1.6 থেকে 3.1-এ, সিস্টেমটি একটি "ডাক স্ট্যাম্প" উইন্ডোতে আপনার অ্যাপ্লিকেশন চালায়। এটি একটি কালো সীমানা সহ একটি 320dp x 480dp স্ক্রীনকে অনুকরণ করে যা স্ক্রিনের অবশিষ্ট অংশকে পূরণ করে।

অ্যান্ড্রয়েড 3.2 এবং তার উপরে, সিস্টেমটি 320dp x 480dp স্ক্রিনের মতো লেআউটটি আঁকে, তারপর স্ক্রিনটি পূরণ করতে এটিকে স্কেল করে। এটি প্রায়শই আপনার UI এ অস্পষ্টতা এবং পিক্সেলেশনের মতো শিল্পকর্মের কারণ হয়।

কিভাবে সঠিকভাবে বিভিন্ন স্ক্রীন মাপ সমর্থন করবেন সে সম্পর্কে আরও তথ্যের জন্য যাতে আপনি আপনার অ্যাপ্লিকেশনের সাথে স্ক্রীন সামঞ্জস্যতা মোড ব্যবহার এড়াতে পারেন, স্ক্রীন সামঞ্জস্য ওভারভিউ পড়ুন।

গুণাবলী:
android:resizeable
বিভিন্ন স্ক্রিনের আকারের জন্য অ্যাপ্লিকেশনটি পুনরায় আকার দেওয়ার যোগ্য কিনা তা নির্দেশ করে৷ এই বৈশিষ্ট্যটি ডিফল্টরূপে "true""false" তে সেট করা হলে, সিস্টেমটি আপনার অ্যাপ্লিকেশনটি স্ক্রিন সামঞ্জস্য মোডে বড় স্ক্রিনে চালায়।

এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে । এটি অ্যাপ্লিকেশানগুলিকে Android 1.5 থেকে 1.6-এ রূপান্তর করতে সাহায্য করার জন্য চালু করা হয়েছিল, যখন একাধিক স্ক্রিনের জন্য সমর্থন প্রথম চালু করা হয়েছিল। এটা ব্যবহার করবেন না।

android:smallScreens
অ্যাপ্লিকেশনটি "ছোট" স্ক্রীন ফর্ম-ফ্যাক্টর সমর্থন করে কিনা তা নির্দেশ করে৷ একটি ছোট পর্দাকে "স্বাভাবিক" স্ক্রীন বা ঐতিহ্যবাহী HVGA স্ক্রীনের চেয়ে ছোট আকারের অনুপাত সহ একটি হিসাবে সংজ্ঞায়িত করা হয়। ছোট স্ক্রীন সমর্থন করে না এমন একটি অ্যাপ্লিকেশন Google Play-এর মতো বাহ্যিক পরিষেবাগুলি থেকে ছোট পর্দার ডিভাইসগুলির জন্য উপলব্ধ নয় , কারণ একটি ছোট স্ক্রিনে এই জাতীয় অ্যাপ্লিকেশন কাজ করার জন্য প্ল্যাটফর্ম খুব কমই করতে পারে৷ এটি ডিফল্টরূপে "true"
android:normalScreens
একটি অ্যাপ্লিকেশন "স্বাভাবিক" স্ক্রীন ফর্ম-ফ্যাক্টর সমর্থন করে কিনা তা নির্দেশ করে৷ ঐতিহ্যগতভাবে এটি একটি HVGA মাঝারি ঘনত্বের পর্দা, তবে WQVGA কম ঘনত্ব এবং WVGA উচ্চ ঘনত্বকেও স্বাভাবিক বলে মনে করা হয়। এই বৈশিষ্ট্যটি ডিফল্টরূপে "true"
android:largeScreens
অ্যাপ্লিকেশন "বড়" স্ক্রীন ফর্ম-ফ্যাক্টর সমর্থন করে কিনা তা নির্দেশ করে৷ একটি বড় স্ক্রীনকে একটি স্ক্রীন হিসাবে সংজ্ঞায়িত করা হয় যা একটি "সাধারণ" হ্যান্ডসেট স্ক্রীনের চেয়ে উল্লেখযোগ্যভাবে বড়। সুতরাং এটির ভাল ব্যবহার করার জন্য অ্যাপ্লিকেশনটির অংশে কিছু বিশেষ যত্নের প্রয়োজন হতে পারে, যদিও এটি স্ক্রীনটি পূরণ করার জন্য সিস্টেম দ্বারা আকার পরিবর্তনের উপর নির্ভর করতে পারে।

এর জন্য ডিফল্ট মান কিছু সংস্করণের মধ্যে পরিবর্তিত হয়, তাই আপনি যদি এই বৈশিষ্ট্যটি স্পষ্টভাবে ঘোষণা করেন তবে এটি আরও ভাল। সতর্ক থাকুন যে এটিকে "false" তে সেট করা সাধারণত স্ক্রিন সামঞ্জস্য মোড সক্ষম করে৷

android:xlargeScreens
অ্যাপ্লিকেশনটি "অতিরিক্ত-বড়" স্ক্রীন ফর্ম-ফ্যাক্টর সমর্থন করে কিনা তা নির্দেশ করে৷ একটি অতিরিক্ত-বড় স্ক্রীনকে একটি স্ক্রীন হিসাবে সংজ্ঞায়িত করা হয় যা "বড়" স্ক্রীনের চেয়ে উল্লেখযোগ্যভাবে বড়, যেমন একটি ট্যাবলেট বা এর চেয়েও বড় কিছু। এটির ভাল ব্যবহার করার জন্য অ্যাপ্লিকেশনটির অংশে বিশেষ যত্নের প্রয়োজন হতে পারে, যদিও এটি স্ক্রীনটি পূরণ করতে সিস্টেম দ্বারা আকার পরিবর্তনের উপর নির্ভর করতে পারে।

এর জন্য ডিফল্ট মান কিছু সংস্করণের মধ্যে পরিবর্তিত হয়, তাই আপনি যদি এই বৈশিষ্ট্যটি স্পষ্টভাবে ঘোষণা করেন তবে এটি আরও ভাল। সতর্ক থাকুন যে এটিকে "false" তে সেট করা সাধারণত স্ক্রিন সামঞ্জস্য মোড সক্ষম করে৷

এই বৈশিষ্ট্যটি API স্তর 9 এ চালু করা হয়েছিল।

android:anyDensity
কোনো পর্দার ঘনত্ব মিটমাট করার জন্য অ্যাপ্লিকেশনটিতে সংস্থান রয়েছে কিনা তা নির্দেশ করে।

যে অ্যাপ্লিকেশানগুলি Android 1.6 (API স্তর 4) এবং উচ্চতর সমর্থন করে, তাদের জন্য এটি ডিফল্টরূপে "true" ৷ এটিকে "false" তে সেট করবেন না যদি না আপনি সম্পূর্ণরূপে নিশ্চিত না হন যে আপনার অ্যাপ্লিকেশনটি কাজ করার জন্য এটি প্রয়োজনীয়৷ আপনার অ্যাপটি সরাসরি বিটম্যাপগুলি পরিচালনা করলে এটি নিষ্ক্রিয় করার প্রয়োজন হতে পারে। আরও তথ্যের জন্য, স্ক্রিন সামঞ্জস্য ওভারভিউ দেখুন।

android:requiresSmallestWidthDp
অ্যাপের জন্য প্রয়োজনীয় ন্যূনতম smallestWidth নির্দিষ্ট করে। smallestWidth হল স্ক্রীন স্পেসের সংক্ষিপ্ত মাত্রা, dp ইউনিটে, যা আপনার অ্যাপ্লিকেশন UI-তে উপলব্ধ হতে হবে। অর্থাৎ, এটি উপলব্ধ পর্দার দুটি মাত্রার মধ্যে সবচেয়ে ছোট।

একটি ডিভাইস আপনার অ্যাপ্লিকেশনের সাথে সামঞ্জস্যপূর্ণ বলে বিবেচিত হওয়ার জন্য, ডিভাইসের smallestWidth অবশ্যই এই মানের সমান বা তার বেশি হতে হবে৷ সাধারণত, আপনি এটির জন্য যে মান সরবরাহ করেন তা হল "সবচেয়ে ছোট প্রস্থ" যা আপনার লেআউট সমর্থন করে, পর্দার বর্তমান অভিযোজন নির্বিশেষে।

উদাহরণস্বরূপ, একটি সাধারণ হ্যান্ডসেটের স্ক্রীনের প্রস্থ 320dp smallestWidth , একটি 7-ইঞ্চি ট্যাবলেটের smallestWidth 600dp এবং একটি 10-ইঞ্চি ট্যাবলেটের smallestWidth 720dp সবচেয়ে ছোট। এই মানগুলি সাধারণত smallestWidth কারণ এগুলি স্ক্রিনের উপলব্ধ স্থানের সংক্ষিপ্ত মাত্রা।

যে আকারের সাথে আপনার মান তুলনা করা হয় তা অ্যাকাউন্টের স্ক্রীন সজ্জা এবং সিস্টেম UI বিবেচনা করে। উদাহরণস্বরূপ, ডিভাইসটির ডিসপ্লেতে কিছু স্থায়ী UI উপাদান থাকলে, সিস্টেমটি ডিভাইসের smallestWidth প্রকৃত স্ক্রীনের আকারের চেয়ে ছোট হিসাবে ঘোষণা করে, কারণ সেগুলি আপনার UI এর জন্য স্ক্রীন পিক্সেল উপলব্ধ নয়।

যদি আপনার অ্যাপ্লিকেশনটি ছোট পর্দার আকারের জন্য সঠিকভাবে আকার পরিবর্তন করে, "ছোট" আকারে বা 320dp এর ন্যূনতম প্রস্থে, তাহলে আপনাকে এই বৈশিষ্ট্যটি ব্যবহার করতে হবে না। অন্যথায়, এই বৈশিষ্ট্যটির জন্য একটি মান ব্যবহার করুন যা আপনার অ্যাপ্লিকেশন দ্বারা ব্যবহৃত ক্ষুদ্রতম মানের সাথে মেলে সবচেয়ে ছোট পর্দার প্রস্থ কোয়ালিফায়ার ( sw<N>dp )।

সতর্কতা: অ্যান্ড্রয়েড সিস্টেম এই বৈশিষ্ট্যের দিকে মনোযোগ দেয় না, তাই রানটাইমে আপনার অ্যাপ্লিকেশন কীভাবে আচরণ করে তা প্রভাবিত করে না। পরিবর্তে, এটি Google Play এর মতো পরিষেবাগুলিতে আপনার অ্যাপ্লিকেশনের জন্য ফিল্টারিং সক্ষম করতে ব্যবহৃত হয়৷ যাইহোক, Google Play বর্তমানে Android 3.2 এ ফিল্টার করার জন্য এই বৈশিষ্ট্যটি সমর্থন করে না, তাই আপনার অ্যাপ্লিকেশন ছোট স্ক্রীন সমর্থন না করলে অন্যান্য আকারের বৈশিষ্ট্যগুলি ব্যবহার করা চালিয়ে যান।

এই বৈশিষ্ট্যটি API স্তর 13 এ চালু করা হয়েছিল।

android:compatibleWidthLimitDp
এই বৈশিষ্ট্যটি আপনাকে সর্বাধিক "ছোটতম স্ক্রীন প্রস্থ" উল্লেখ করে ব্যবহারকারী-ঐচ্ছিক বৈশিষ্ট্য হিসাবে স্ক্রীন সামঞ্জস্য মোড সক্ষম করতে দেয় যার জন্য আপনার অ্যাপ্লিকেশনটি ডিজাইন করা হয়েছে৷ যদি একটি ডিভাইসের উপলব্ধ স্ক্রিনের ক্ষুদ্রতম দিকটি এখানে আপনার মূল্যের চেয়ে বেশি হয়, ব্যবহারকারীরা এখনও আপনার অ্যাপ্লিকেশনটি ইনস্টল করতে পারে তবে এটি স্ক্রিন সামঞ্জস্য মোডে চালানোর প্রস্তাব দেওয়া হয়।

ডিফল্টরূপে, স্ক্রীন সামঞ্জস্য মোড অক্ষম করা হয়, এবং আপনার বিন্যাস স্বাভাবিকের মতো স্ক্রীনের সাথে মানানসই করার জন্য পুনরায় আকার দেয়। সিস্টেম বারে একটি বোতাম উপলব্ধ যা ব্যবহারকারীকে স্ক্রিন সামঞ্জস্য মোড টগল করতে দেয়।

যদি আপনার অ্যাপ্লিকেশনটি সমস্ত স্ক্রীন আকারের সাথে সামঞ্জস্যপূর্ণ হয় এবং এর বিন্যাসটি সঠিকভাবে পুনরায় আকার দেয় তবে আপনাকে এই বৈশিষ্ট্যটি ব্যবহার করতে হবে না।

দ্রষ্টব্য: বর্তমানে, স্ক্রিন সামঞ্জস্য মোড শুধুমাত্র 320dp প্রস্থের হ্যান্ডসেট স্ক্রীনগুলিকে অনুকরণ করে, তাই android:compatibleWidthLimitDp এর জন্য আপনার মান 320 এর থেকে বড় হলে স্ক্রীন সামঞ্জস্য মোড প্রয়োগ করা হয় না।

এই বৈশিষ্ট্যটি API স্তর 13 এ চালু করা হয়েছিল।

android:largestWidthLimitDp
এই বৈশিষ্ট্যটি আপনাকে সর্বাধিক "ছোটতম স্ক্রীন প্রস্থ" উল্লেখ করে স্ক্রীন সামঞ্জস্য মোড জোরপূর্বক সক্ষম করতে দেয় যার জন্য আপনার অ্যাপ্লিকেশনটি ডিজাইন করা হয়েছে৷ যদি একটি ডিভাইসের উপলব্ধ স্ক্রিনের ক্ষুদ্রতম দিকটি এখানে আপনার মূল্যের চেয়ে বেশি হয়, তাহলে অ্যাপ্লিকেশনটি স্ক্রীন সামঞ্জস্য মোডে চলে, ব্যবহারকারীর পক্ষে এটি নিষ্ক্রিয় করার কোনো উপায় নেই৷

যদি আপনার অ্যাপ্লিকেশনটি সমস্ত স্ক্রীন আকারের সাথে সামঞ্জস্যপূর্ণ হয় এবং এর বিন্যাসটি সঠিকভাবে পুনরায় আকার দেয় তবে আপনাকে এই বৈশিষ্ট্যটি ব্যবহার করতে হবে না। অন্যথায়, প্রথমে android:compatibleWidthLimitDp অ্যাট্রিবিউট ব্যবহার করার কথা বিবেচনা করুন। android:largestWidthLimitDp অ্যাট্রিবিউটটি ব্যবহার করুন শুধুমাত্র যখন আপনার অ্যাপ্লিকেশনটি কার্যকরীভাবে ভেঙে যায় যখন বড় স্ক্রিনের জন্য পুনরায় আকার দেওয়া হয় এবং স্ক্রিন সামঞ্জস্য মোড হল একমাত্র উপায় যা আপনার অ্যাপ্লিকেশন ব্যবহার করা যেতে পারে৷

দ্রষ্টব্য: বর্তমানে, স্ক্রিন সামঞ্জস্য মোড শুধুমাত্র 320dp প্রস্থের হ্যান্ডসেট স্ক্রীনগুলিকে অনুকরণ করে, তাই android:largestWidthLimitDp এর জন্য আপনার মান 320 এর থেকে বড় হলে স্ক্রিন সামঞ্জস্য মোড প্রয়োগ করা হয় না।

এই বৈশিষ্ট্যটি API স্তর 13 এ চালু করা হয়েছিল।

প্রবর্তিত:
API স্তর 4
আরো দেখুন: