از مواد 3 درونی استفاده کنید

برای سهولت استفاده، بسیاری از مواد داخلی 3 composable ( androidx.compose.material3 ) بر اساس نحوه قرارگیری اجزای سازنده در برنامه شما با توجه به مشخصات Material، خود به کار می‌روند.

مواد ترکیبی هندلینگ داخلی

در زیر لیستی از اجزای متریال است که به طور خودکار inset ها را مدیریت می کنند.

نوارهای برنامه

ظروف محتوا

داربست

به‌طور پیش‌فرض، Scaffold ورودی‌هایی را به‌عنوان پارامتر PaddingValues ​​برای مصرف و استفاده شما فراهم می‌کند. Scaffold در داخل محتوا را اعمال نمی کند. این مسئولیت با شماست به عنوان مثال، برای مصرف این inset ها با LazyColumn در داخل یک Scaffold :

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
    ) {
        // ..
    }
}

ویدئوی زیر یک LazyColumn در یک Scaffold با صفحه نمایش لبه به لبه غیرفعال و فعال نشان می دهد:

استفاده از پارامتر PaddingValues ​​در Scaffold به طور کلی برای قرار دادن رابط کاربری شما به دور از UI سیستم و برش های نمایش کافی است. اگر از Scaffold استفاده می کنید، از استفاده از رویکردهای اضافی در دستکاری داخلی مانند خط کش ها، اصلاح کننده های بالشتک یا اصلاح کننده های اندازه داخلی خودداری کنید تا از اعمال بالشتک زیاد روی رابط کاربری خود جلوگیری کنید.

درج های پیش فرض را لغو کنید

می‌توانید پارامتر windowInsets را به composable تغییر دهید تا رفتار composable را پیکربندی کنید. این پارامتر می تواند نوع دیگری از درج پنجره باشد که به جای آن اعمال می شود، یا با عبور دادن یک نمونه خالی غیرفعال می شود: WindowInsets(0, 0, 0, 0) .

به عنوان مثال، برای غیرفعال کردن مدیریت inset در LargeTopAppBar ، پارامتر windowInsets را روی یک نمونه خالی تنظیم کنید:

LargeTopAppBar(
    windowInsets = WindowInsets(0, 0, 0, 0),
    title = {
        Text("Hi")
    }
)