উপাদান 3 ইনসেট ব্যবহার করুন

ব্যবহারের সুবিধার জন্য, অনেকগুলি অন্তর্নির্মিত উপাদান 3 কম্পোজেবল ( androidx.compose.material3 ) নিজেই ইনসেটগুলি পরিচালনা করে, কীভাবে উপাদানের বৈশিষ্ট্য অনুযায়ী আপনার অ্যাপে কম্পোজেবলগুলি স্থাপন করা হয় তার উপর ভিত্তি করে।

ইনসেট হ্যান্ডলিং composables

নিম্নলিখিত উপাদান উপাদানগুলির একটি তালিকা যা স্বয়ংক্রিয়ভাবে ইনসেটগুলি পরিচালনা করে।

অ্যাপ বার

  • TopAppBar / SmallTopAppBar / 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")
    }
)