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

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

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

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

API লেভেল ৩৬-কে লক্ষ্য করে এমন অ্যাপগুলি পুনরায় আকার পরিবর্তনযোগ্য এবং ডিসপ্লের সবচেয়ে ছোট প্রস্থ >= ৬০০dp হলে মাল্টি-উইন্ডো মোডে ( resizeableActivity="true" এর সমতুল্য) প্রবেশ করতে সক্ষম।

অ্যান্ড্রয়েড ১৬-এর আগে অ্যাপটি একটি বড় স্ক্রিনের আনফোল্ড ডিভাইসে লেটারবক্স করা ছিল, কিন্তু অ্যান্ড্রয়েড ১৬-কে টার্গেট করার সময় এটি পূর্ণ স্ক্রিনে থাকে। অ্যাপটি লেটারবক্স করার চেয়ে পূর্ণ স্ক্রিনে বেশি সংবাদ দেখায়।
চিত্র ১. ডেভেলপার নিউজ ফিড পূর্বে বড় স্ক্রিনের ডিভাইসে (বামে) লেটারবক্স করা ছিল, যা অ্যান্ড্রয়েড ১৬ (ডানে) টার্গেট করার সময় পূর্ণ স্ক্রিনে চলে।

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

পরিবর্তন

বড় স্ক্রিনে 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

ব্যতিক্রম

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

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

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

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

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

অপ্ট আউট করুন

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 Studio-তে Pixel Tablet এবং Pixel Fold সিরিজের এমুলেটর ব্যবহার করুন এবং আপনার অ্যাপের মডিউল build.gradle ফাইলে targetSdkPreview = "Baklava" সেট করুন।

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

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

বাস্তবায়ন নির্দেশিকা

যেসব অ্যাপ ডিভাইস ওরিয়েন্টেশন, আকৃতির অনুপাত বা অ্যাপের আকার পরিবর্তনে বাধা দেয়, তাদের অ্যান্ড্রয়েড ১৬-তে ডিসপ্লে সমস্যা হতে পারে, যেমন ওভারল্যাপিং লেআউট। ফোন, ফোল্ডেবল, ট্যাবলেট, ChromeOS ডিভাইস এবং আরও অনেক কিছুতে সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদানের জন্য, আপনার অ্যাপটি প্রতিক্রিয়াশীল এবং অভিযোজিত করে তৈরি করুন।

প্রস্তুতির চেকলিস্ট

আপনার অ্যাপটি Android 16 পরিবর্তনের জন্য প্রস্তুত কিনা তা নিশ্চিত করতে নিম্নলিখিত চেকলিস্টটি ব্যবহার করুন:

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

কম্পোজে অ্যাডাপটিভ লেআউট তৈরির জন্য একটি ব্যবহারিক নির্দেশিকা পেতে, জেটপ্যাক কম্পোজ কোডল্যাব দিয়ে অ্যাডাপটিভ অ্যাপ তৈরি করুন দেখুন। যদি আপনি এমন একটি অ্যাপ মাইগ্রেট করেন যা ভিউ ব্যবহার করে, তাহলে কম্পোজ অ্যাডাপশন কৌশল দেখুন।

সময়রেখা

  • অ্যান্ড্রয়েড ১৬ (২০২৫): এপিআই লেভেল ৩৬ লক্ষ্য করে এমন অ্যাপের জন্য বড় স্ক্রিন ডিভাইসের (সবচেয়ে ছোট স্ক্রিন প্রস্থ >= ৬০০dp) বেসলাইন অভিজ্ঞতা হল সমস্ত ওরিয়েন্টেশন এবং আকৃতির অনুপাত এবং অ্যাপ রিসাইজেবিলিটির জন্য সমর্থন। তবে, ডেভেলপাররা অপ্ট আউট করতে পারেন।
লক্ষ্য API স্তর প্রযোজ্য ডিভাইস ডেভেলপার অপ্ট আউট অনুমোদিত
৩৬ (অ্যান্ড্রয়েড ১৬) বড় স্ক্রিন ডিভাইস (সবচেয়ে ছোট স্ক্রিন প্রস্থ >= 600dp) হাঁ

নির্দিষ্ট API লেভেল টার্গেট করার সময়সীমা অ্যাপ স্টোর নির্দিষ্ট। গুগল প্লে ২০২৬ সালের আগস্ট থেকে অ্যাপগুলিকে API লেভেল ৩৬ টার্গেট করতে বাধ্য করবে।

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