কাটআউট সম্পর্কে

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

পোর্ট্রেট মোডে কাটআউটের উদাহরণ
চিত্র ১। পোর্ট্রেট মোডে কাটআউটের উদাহরণ।
ল্যান্ডস্কেপ মোডে কাটআউটের উদাহরণ
চিত্র ২। ল্যান্ডস্কেপ মোডে কাটআউটের উদাহরণ।

অ্যান্ড্রয়েড ৯ (এপিআই লেভেল ২৮) এবং এর পরবর্তী সংস্করণে চালিত ডিভাইসগুলোতে ডিসপ্লে কাটআউট সমর্থন করে। তবে, ডিভাইস নির্মাতারা অ্যান্ড্রয়েড ৮.১ বা এর পূর্ববর্তী সংস্করণে চালিত ডিভাইসগুলোতেও ডিসপ্লে কাটআউট সমর্থন করতে পারেন।

এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে কম্পোজে কাটআউটযুক্ত ডিভাইসগুলির জন্য সাপোর্ট প্রয়োগ করতে হয়, যার মধ্যে কাটআউট এলাকা নিয়ে কীভাবে কাজ করতে হয় তাও অন্তর্ভুক্ত রয়েছে — অর্থাৎ, ডিসপ্লে পৃষ্ঠের উপর অবস্থিত সেই প্রান্ত থেকে প্রান্ত পর্যন্ত বিস্তৃত আয়তক্ষেত্রটি, যার মধ্যে কাটআউটটি থাকে।

ডিফল্ট কেস

যেসব অ্যাপ API লেভেল ৩৪ বা তার নিচের লেভেলকে টার্গেট করে, অথবা যেসব অ্যাক্টিভিটি enableEdgeToEdge কল করে না, সেগুলো ডিফল্টভাবে কাটআউট অঞ্চলে ড্র করবে না, যদি না অ্যাপটি ডিসপ্লে কাটআউট ধারণকারী কোনো সিস্টেম বারের মধ্যে ড্র করে।

অ্যান্ড্রয়েড ১৫ বা তার উচ্চতর সংস্করণে চালিত ডিভাইসে এপিআই লেভেল ৩৫ বা তার বেশি টার্গেট করা অ্যাপ, অথবা যে অ্যাক্টিভিটিগুলো enableEdgeToEdge কল করে, সেগুলো কাটআউট অঞ্চলের মধ্যে ড্র করে।

অন্য কথায়, Android 15 বা তার উচ্চতর সংস্করণে চালিত ডিভাইসগুলিতে API লেভেল 35 বা তার উচ্চতর সংস্করণকে টার্গেট করা অ্যাপের নন-ফ্লোটিং উইন্ডোগুলির জন্য LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT , LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES , এবং LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS হিসাবে ব্যাখ্যা করা হয়।

কাটআউট তথ্য ম্যানুয়ালি পরিচালনা করুন

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

Compose-এর ক্ষেত্রে, আপনার কম্পোজেবলগুলিতে কাটআউট ইনসেটগুলি পরিচালনা করার জন্য আমরা displayCutout , safeContent বা safeDrawing ব্যবহার করার পরামর্শ দিই। এই পদ্ধতিটি আপনাকে যেখানে প্রয়োজন সেখানে ডিসপ্লে কাটআউট প্যাডিং মেনে চলতে, অথবা যেখানে প্রয়োজন নেই সেখানে তা উপেক্ষা করতে দেয়।

Canvas(modifier = Modifier.fillMaxSize().windowInsetsPadding(WindowInsets.displayCutout)) {
    drawRect(Color.Red, style = Stroke(2.dp.toPx()))
}

{% হুবহু %} {% endverbatim %} {% হুবহু %} {% endverbatim %}