অ্যাপ ওরিয়েন্টেশন, অ্যাসপেক্ট রেশিও এবং রিসাইজযোগ্যতা

অ্যান্ড্রয়েড অ্যাপ্লিকেশানগুলি সমস্ত ধরণের ডিভাইসে চলে: ফোন, ট্যাবলেট, ফোল্ডেবল, ক্রোমবুক, গাড়ি, টিভি এবং এমনকি XR৷ এই বৈচিত্র্যময় পরিবেশের সাথে খাপ খাইয়ে নিতে, আপনার অ্যাপটিকে সমস্ত ডিভাইস ফর্ম ফ্যাক্টর এবং প্রদর্শনের আকার সমর্থন করা উচিত।

অ্যান্ড্রয়েড 16 (এপিআই লেভেল 36) স্ক্রিন ওরিয়েন্টেশন, অ্যাসপেক্ট রেশিও এবং রিসাইজবিলিটির জন্য অ্যাপের সীমাবদ্ধতা ওভাররাইড করে বিভিন্ন ফর্ম ফ্যাক্টর এবং ডিসপ্লে সাইজের সাথে মানিয়ে নিতে অ্যাপগুলিকে সক্ষম করে। ওভাররাইডগুলি ক্ষুদ্রতম প্রস্থ >= 600dp সহ ডিভাইসগুলিতে প্রযোজ্য যা নিম্নলিখিতগুলিকে সংজ্ঞায়িত করে:

  • ট্যাবলেট
  • বড় পর্দার ফোল্ডেবলের ভিতরের ডিসপ্লে
  • ডেস্কটপ উইন্ডোিং (সমস্ত ফর্ম ফ্যাক্টরগুলিতে)

যে অ্যাপগুলি API লেভেল 36 কে টার্গেট করে সেগুলি রিসাইজযোগ্য এবং মাল্টি-উইন্ডো মোডে প্রবেশ করতে সক্ষম ( resizeableActivity="true" এর সমতুল্য) যদি ডিসপ্লের ক্ষুদ্রতম প্রস্থ >= 600dp হয়৷

অ্যাপ্লিকেশানটি Android 16-এর আগে একটি উন্মোচিত বড় স্ক্রীন ডিভাইসে লেটারবক্সযুক্ত, কিন্তু Android 16 টার্গেট করার সময় এটি সম্পূর্ণ দৃশ্যমান। অ্যাপটি লেটারবক্সের পরিবর্তে পূর্ণ স্ক্রীনে আরও খবর আইটেম দেখায়।
চিত্র 1. Android 16 (ডানদিকে) টার্গেট করার সময় ডেভেলপার নিউজ ফিড আগে বড় স্ক্রিনের ডিভাইসে লেটারবক্স করা (বাম) পূর্ণ স্ক্রীনে চলে।

Android 16 অভিযোজিত অ্যাপ ডিজাইনের একটি সামঞ্জস্যপূর্ণ মডেল প্রয়োগ করে যা ডিভাইসের অভিযোজন, আকৃতির অনুপাত এবং প্রদর্শনের আকারের জন্য ব্যবহারকারীর পছন্দকে সম্মান করে ব্যবহারকারীর অভিজ্ঞতাকে অপ্টিমাইজ করে।

পরিবর্তন

বড় স্ক্রিনে Android 16 (API লেভেল 36) লক্ষ্য করা অ্যাপগুলির জন্য নিম্নলিখিত ম্যানিফেস্ট অ্যাট্রিবিউট এবং APIগুলি উপেক্ষা করা হয়েছে:

অ্যাট্রিবিউট বা API উপেক্ষিত মান
screenOrientation portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape
resizeableActivity সব
minAspectRatio সব
maxAspectRatio সব
setRequestedOrientation()

getRequestedOrientation()
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape

ব্যতিক্রম

অ্যান্ড্রয়েড 16 পরিবর্তনগুলির ব্যতিক্রমগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

  • sw600dp-এর থেকে ছোট ডিসপ্লে (বেশিরভাগ ফোন, ফ্লিপাবল, এবং বড় স্ক্রিনের ফোল্ডেবলের বাইরের ডিসপ্লে)

  • গেমগুলি, android:appCategory পতাকার উপর ভিত্তি করে

    অ্যান্ড্রয়েড অ্যাপ বান্ডেল এবং প্লে অ্যাপ সাইনিং ব্যবহার করে আপনার গেম প্রকাশ করুন, Google Play-কে পতাকা পরিচালনা করতে এবং অ্যাপ বান্ডেলের সুবিধাগুলি স্বয়ংক্রিয়ভাবে প্রদান করার অনুমতি দেয়। অ্যাপ ম্যানিফেস্ট ওভারভিউও দেখুন।

  • ব্যবহারকারী অ্যাসপেক্ট রেশিও সেটিংসে অ্যাপের ডিফল্ট আচরণ বেছে নেন

অপ্ট আউট

API স্তর 36 আচরণ থেকে অপ্ট আউট করতে, PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY ম্যানিফেস্ট সম্পত্তি ঘোষণা করুন৷

একটি নির্দিষ্ট কার্যকলাপের জন্য অপ্ট আউট করতে, <activity> উপাদানে সম্পত্তি সেট করুন:

<activity ...>
    <property
        android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
        android:value="true" />
    ...
</activity>

আপনার সম্পূর্ণ অ্যাপের জন্য অপ্ট আউট করতে, <application> উপাদানে সম্পত্তি সেট করুন:

<application ...>
    <property
        android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
        android:value="true" />
    ...
</application>

টেস্ট

আপনার অ্যাপ Android 16 পরিবর্তন দ্বারা প্রভাবিত হয়েছে কিনা তা পরীক্ষা করতে, Android স্টুডিওতে Pixel ট্যাবলেট এবং Pixel Fold সিরিজের এমুলেটর ব্যবহার করুন এবং আপনার অ্যাপের মডিউল build.gradle ফাইলে targetSdkPreview = "Baklava" সেট করুন।

অথবা UNIVERSAL_RESIZABLE_BY_DEFAULT ফ্ল্যাগ সক্ষম করে আপনার পরীক্ষা ডিভাইসগুলিতে অ্যাপ সামঞ্জস্যতা ফ্রেমওয়ার্ক ব্যবহার করুন ( সামঞ্জস্যতা ফ্রেমওয়ার্ক টুল দেখুন)।

আপনি এসপ্রেসো টেস্টিং ফ্রেমওয়ার্ক এবং জেটপ্যাক কম্পোজ টেস্টিং এপিআই-এর মাধ্যমে পরীক্ষা স্বয়ংক্রিয় করতে পারেন।

সাধারণ সমস্যা

যে অ্যাপগুলি ডিভাইসের অভিযোজন, আকৃতির অনুপাত, বা অ্যাপের পরিবর্তনযোগ্যতা সীমাবদ্ধ করে তাদের Android 16-এ ডিসপ্লে সংক্রান্ত সমস্যা থাকতে পারে, যেমন ওভারল্যাপিং লেআউট।

ফোন, ফোল্ডেবল, ট্যাবলেট, ক্রোমবুক, কার ডিসপ্লে বা এক্সআর-এ একটি সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদান করতে, প্রতিক্রিয়াশীল এবং অভিযোজিত হতে আপনার অ্যাপ তৈরি করুন:

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

  • স্ক্রোল করার জন্য লেআউটগুলি সক্ষম করুন: যদি লেআউটগুলি স্ক্রোল না করে, ব্যবহারকারীরা ল্যান্ডস্কেপ অভিযোজনে স্ক্রীন বন্ধ থাকা বোতাম বা অন্যান্য UI উপাদানগুলি অ্যাক্সেস করতে সক্ষম হবে না৷ ডিসপ্লের উচ্চতা নির্বিশেষে সমস্ত বিষয়বস্তু পৌঁছানোর যোগ্য তা নিশ্চিত করতে স্ক্রোল করতে অ্যাপ্লিকেশন লেআউটগুলি সক্ষম করুন৷

  • পোর্ট্রেট এবং ল্যান্ডস্কেপে ক্যামেরা সামঞ্জস্য নিশ্চিত করুন: ক্যামেরা ভিউফাইন্ডার প্রিভিউ যা ক্যামেরা সেন্সরের সাপেক্ষে একটি নির্দিষ্ট আকৃতির অনুপাত এবং ওরিয়েন্টেশন অনুমান করে তার ফলে নন-কনফর্মিং ডিসপ্লেতে প্রসারিত বা ফ্লিপ করা প্রিভিউ হতে পারে। অভিযোজন পরিবর্তনের সাথে ভিউফাইন্ডার সঠিকভাবে ঘোরানো নিশ্চিত করুন। সেন্সর আকৃতির অনুপাত থেকে ভিন্ন UI আকৃতির অনুপাতের সাথে সামঞ্জস্য করতে ভিউফাইন্ডারগুলিকে সক্ষম করুন৷

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

  • উইন্ডো আকারের ক্লাস ব্যবহার করুন: ডিভাইস-নির্দিষ্ট কাস্টমাইজেশন ছাড়াই বিভিন্ন উইন্ডোর আকার এবং আকৃতির অনুপাত সমর্থন করে। অনুমান করুন উইন্ডোর আকার ঘন ঘন পরিবর্তন হবে। উইন্ডোর মাত্রাগুলি চিহ্নিত করতে উইন্ডো আকারের ক্লাসগুলি ব্যবহার করুন এবং তারপরে একটি উপযুক্ত অভিযোজিত বিন্যাস প্রয়োগ করুন।

  • প্রতিক্রিয়াশীল লেআউট তৈরি করুন: উইন্ডো আকারের ক্লাসের মধ্যে, প্রতিক্রিয়াশীল লেআউটগুলি সর্বদা একটি সর্বোত্তম অ্যাপ উপস্থাপনা তৈরি করতে প্রদর্শনের মাত্রার পরিবর্তনের সাথে সামঞ্জস্য করে।

টাইমলাইন

  • অ্যান্ড্রয়েড 16 (2025): সমস্ত অভিযোজন এবং দৃষ্টিভঙ্গি অনুপাতের জন্য সমর্থন এবং অ্যাপ রিসাইজবিলিটি হল বড় স্ক্রীন ডিভাইসগুলির জন্য বেসলাইন অভিজ্ঞতা (সবচেয়ে ছোট স্ক্রীন প্রস্থ >= 600dp) যেগুলি API লেভেল 36 কে টার্গেট করে৷ যাইহোক, বিকাশকারীরা অপ্ট আউট করতে পারেন৷

  • 2026 সালে অ্যান্ড্রয়েড রিলিজ: সমস্ত অভিযোজন এবং দৃষ্টিভঙ্গি অনুপাতের জন্য সমর্থন এবং অ্যাপ রিসাইজবিলিটি এপিআই লেভেল 37 কে লক্ষ্য করে এমন অ্যাপগুলির জন্য বড় স্ক্রীন ডিভাইসের (সবচেয়ে ছোট স্ক্রীন প্রস্থ >= 600dp) বেসলাইন অভিজ্ঞতা হবে। ডেভেলপারদের অপ্ট আউট করার বিকল্প থাকবে না।

লক্ষ্য API স্তর প্রযোজ্য ডিভাইস বিকাশকারী অপ্ট আউট অনুমোদিত৷
36 (Android 16) বড় স্ক্রীন ডিভাইস (সবচেয়ে ছোট পর্দা প্রস্থ >= 600dp) হ্যাঁ
37 (প্রত্যাশিত) বড় স্ক্রীন ডিভাইস (সবচেয়ে ছোট পর্দা প্রস্থ >= 600dp) না

নির্দিষ্ট API স্তরগুলিকে লক্ষ্য করার সময়সীমা অ্যাপ স্টোর নির্দিষ্ট। 2026 সালের আগস্ট পর্যন্ত API লেভেল 36, আগস্ট 2027 অনুযায়ী API লেভেল 37 টার্গেট করার জন্য Google Play অ্যাপের প্রয়োজন হবে।

অতিরিক্ত সম্পদ