সহজে ব্যবহারের জন্য, বিল্ট-ইন Material 3 কম্পোজ করার মতো অনেক আইটেম
(androidx.compose.material3)
আপনার অ্যাপে কম্পোজ করার মতো আইটেম কীভাবে প্লেস করা হয়েছে
তার উপর ভিত্তি করে Material স্পেসিফিকেশন অনুযায়ী ইনসেট নিজেই ম্যানেজ করে।
ইনসেট হ্যান্ডেলিং কম্পোজেবল
নিচে মেটেরিয়াল কম্পোনেন্ট-এর একটি তালিকা দেওয়া হল যা ইনসেট অটোমেটিক ম্যানেজ করে।
অ্যাপ বার
TopAppBar/CenterAlignedTopAppBar/MediumTopAppBar/LargeTopAppBar: উইন্ডোর উপরে ব্যবহার করা হয় বলে, এটি সিস্টেম বারের উপরের ও অনুভূমিক দিকে প্যাডিং প্রয়োগ করে।BottomAppBar: প্যাডিং হিসেবে সিস্টেম বারের নিচের ও অনুভূমিক দিকগুলি প্রয়োগ করে।
কন্টেন্ট কন্টেনার
ModalDrawerSheet/DismissibleDrawerSheet/PermanentDrawerSheet(মডাল নেভিগেশন ড্রয়ারের মধ্যে থাকা কন্টেন্ট): কন্টেন্টে উল্লম্ব ও শুরু ইনসেট প্রয়োগ করে।ModalBottomSheet: নিচের ইনসেট প্রয়োগ করে।NavigationBar: নিচের ও অনুভূমিক ইনসেট প্রয়োগ করে।NavigationRail: উল্লম্ব ও শুরু ইনসেট প্রয়োগ করে।
স্ক্যাফোল্ড
ডিফল্ট হিসেবে,
Scaffold
ইনসেটকে প্যারামিটার PaddingValues হিসেবে প্রদান করে যা আপনি ব্যবহার করতে পারেন।
Scaffold কন্টেন্টে ইনসেট প্রয়োগ করে না; এই দায়িত্ব আপনার।
যেমন, Scaffold-এর মধ্যে LazyColumn সহ ইনসেট ব্যবহার করতে:
Scaffold { innerPadding -> // innerPadding contains inset information for you to use and apply LazyColumn( // consume insets as scaffold doesn't do it by default modifier = Modifier.consumeWindowInsets(innerPadding), contentPadding = innerPadding ) { // .. } }
নিম্নলিখিত ভিডিওতে, এজ-টু-এজ
ডিসপ্লে বন্ধ ও চালু করা অবস্থায় Scaffold-এর মধ্যে একটি LazyColumn দেখানো হয়েছে:
Scaffold-এ PaddingValues প্যারামিটার ব্যবহার করলে সাধারণত সিস্টেম UI ও ডিসপ্লে কাটআউট থেকে
আপনার UI ইনসেট করার জন্য যথেষ্ট। আপনার UI-তে অতিরিক্ত প্যাডিং প্রয়োগ করা এড়াতে Scaffold ব্যবহার করলে, অতিরিক্ত
ইনসেট হ্যান্ডেলিং অ্যাপ্রোচ যেমন রুলার, প্যাডিং মডিফায়ার বা ইনসেট সাইজ
মডিফায়ার ব্যবহার করা এড়িয়ে চলুন।
ডিফল্ট ইনসেট ওভাররাইড করা
কম্পোজ করার উপযুক্ত আইটেমের আচরণ কনফিগার করতে, কম্পোজ করার উপযুক্ত আইটেমে পাস করা windowInsets প্যারামিটার পরিবর্তন করতে পারেন।
এই প্যারামিটারটি প্রয়োগ করার জন্য অন্য ধরনের
উইন্ডো ইনসেট হতে পারে অথবা খালি ইনস্ট্যান্স পাস করে এটি বন্ধ করা যেতে পারে:
WindowInsets(0, 0, 0, 0).
যেমন, LargeTopAppBar-এ ইনসেট হ্যান্ডেল করা বন্ধ করতে,
windowInsets প্যারামিটারকে খালি ইনস্ট্যান্স হিসেবে সেট করুন:
LargeTopAppBar( windowInsets = WindowInsets(0, 0, 0, 0), title = { Text("Hi") } )