ওরিয়েন্টেশন এবং আকার পরিবর্তনের উপর বিধিনিষেধ উপেক্ষা করা হয়

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

ওরিয়েন্টেশন, আকার পরিবর্তনযোগ্যতা এবং আকৃতির অনুপাতের সীমাবদ্ধতা উপেক্ষা করুন

অ্যান্ড্রয়েড ১৭ বা তার পরবর্তী ভার্সনের অ্যাপগুলির জন্য, ৬০০ ডিপি-র চেয়ে ছোট প্রস্থের ডিসপ্লেতে ওরিয়েন্টেশন, রিসাইজেবিলিটি এবং অ্যাসপেক্ট রেশিও বিধিনিষেধ আর প্রযোজ্য হবে না। অ্যাসপেক্ট রেশিও বা ব্যবহারকারীর পছন্দের ওরিয়েন্টেশন নির্বিশেষে, অ্যাপগুলি পুরো ডিসপ্লে উইন্ডোটি পূরণ করে এবং পিলারবক্সিং ব্যবহার করা হয় না।

অ্যান্ড্রয়েড ১৭, অ্যান্ড্রয়েড ১৬-তে প্রদত্ত বড় স্ক্রিন ডিভাইসগুলিতে ওরিয়েন্টেশন এবং রিসাইজেবিলিটির জন্য অস্থায়ী ডেভেলপার অপ্ট-আউট (অপ্ট-আউট) সরিয়ে দিয়েছে।

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

আপনি অ্যাপ কম্প্যাটিবিলিটি ফ্রেমওয়ার্ক ব্যবহার করে এবং UNIVERSAL_RESIZABLE_BY_DEFAULT কম্প্যাট ফ্ল্যাগ সক্ষম করেও এই আচরণটি পরীক্ষা করতে পারেন।

সাধারণ ব্রেকিং পরিবর্তনগুলি

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

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

ডিভাইস ঘূর্ণনের অনুমতি দিলে আরও বেশি অ্যাক্টিভিটি পুনঃসৃষ্টি হয়, যা সঠিকভাবে সংরক্ষণ না করলে ব্যবহারকারীর অবস্থা হারাতে পারে। Save UI states- এ UI অবস্থা কীভাবে সঠিকভাবে সংরক্ষণ করবেন তা শিখুন।

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

পূর্ণ-স্ক্রিন এবং মাল্টি-উইন্ডো মোডে বড় স্ক্রিন ডিভাইসগুলিতে নিম্নলিখিত ম্যানিফেস্ট অ্যাট্রিবিউট এবং রানটাইম API গুলি উপেক্ষা করা হয়:

screenOrientation, setRequestedOrientation() এবং getRequestedOrientation() এর জন্য নিম্নলিখিত মানগুলি উপেক্ষা করা হয়েছে:

  • portrait
  • reversePortrait
  • sensorPortrait
  • userPortrait
  • landscape
  • reverseLandscape
  • sensorLandscape
  • userLandscape

ডিসপ্লে রিসাইজেবিলিটির ক্ষেত্রে, android:resizeableActivity="false", android:minAspectRatio এবং android:maxAspectRatio এর কোনও প্রভাব নেই।

ব্যতিক্রম

নিম্নলিখিত পরিস্থিতিতে Android 17 ওরিয়েন্টেশন, আকার পরিবর্তনযোগ্যতা এবং আকৃতির অনুপাতের সীমাবদ্ধতা প্রযোজ্য নয়:

  • গেমস ( android:appCategory পতাকার উপর ভিত্তি করে)
  • ডিভাইসের আকৃতির অনুপাত সেটিংসে ব্যবহারকারীরা স্পষ্টভাবে অ্যাপের ডিফল্ট আচরণ বেছে নিচ্ছেন
  • যেসব স্ক্রিনের প্রস্থ sw600dp এর চেয়ে ছোট