Scaffold
در طراحی متریال، داربست یک ساختار اساسی است که یک پلت فرم استاندارد شده برای رابط های کاربری پیچیده فراهم می کند. بخشهای مختلف رابط کاربری، مانند نوارهای برنامه و دکمههای عمل شناور را در کنار هم نگه میدارد و به برنامهها ظاهر و احساسی منسجم میدهد.
مثال
Scaffold
composable یک API ساده ارائه می دهد که می توانید از آن برای جمع آوری سریع ساختار برنامه خود مطابق با دستورالعمل های طراحی متریال استفاده کنید. Scaffold
چندین ترکیب پذیر را به عنوان پارامتر می پذیرد. از جمله موارد زیر است:
-
topBar
: نوار برنامه در بالای صفحه. -
bottomBar
: نوار برنامه در پایین صفحه. -
floatingActionButton
: دکمهای که روی گوشه سمت راست پایین صفحه قرار میگیرد و میتوانید از آن برای نمایش اقدامات کلیدی استفاده کنید.
برای مثالهای دقیقتر در مورد نحوه اجرای هر دو نوار برنامه بالا و پایین، به صفحه نوار برنامه مراجعه کنید.
همچنین میتوانید محتوای Scaffold
را همانطور که به ظروف دیگر منتقل میکنید ارسال کنید. یک مقدار innerPadding
را به content
lambda ارسال میکند که میتوانید از آن در composableهای فرزند استفاده کنید.
مثال زیر یک مثال کامل از نحوه پیاده سازی Scaffold
را ارائه می دهد. این شامل یک نوار برنامه بالا، نوار برنامه پایین و یک دکمه عمل شناور است که با وضعیت داخلی Scaffold
تعامل دارد.
@Composable fun ScaffoldExample() { var presses by remember { mutableIntStateOf(0) } Scaffold( topBar = { TopAppBar( colors = topAppBarColors( containerColor = MaterialTheme.colorScheme.primaryContainer, titleContentColor = MaterialTheme.colorScheme.primary, ), title = { Text("Top app bar") } ) }, bottomBar = { BottomAppBar( containerColor = MaterialTheme.colorScheme.primaryContainer, contentColor = MaterialTheme.colorScheme.primary, ) { Text( modifier = Modifier .fillMaxWidth(), textAlign = TextAlign.Center, text = "Bottom app bar", ) } }, floatingActionButton = { FloatingActionButton(onClick = { presses++ }) { Icon(Icons.Default.Add, contentDescription = "Add") } } ) { innerPadding -> Column( modifier = Modifier .padding(innerPadding), verticalArrangement = Arrangement.spacedBy(16.dp), ) { Text( modifier = Modifier.padding(8.dp), text = """ This is an example of a scaffold. It uses the Scaffold composable's parameters to create a screen with a simple top app bar, bottom app bar, and floating action button. It also contains some basic inner content, such as this text. You have pressed the floating action button $presses times. """.trimIndent(), ) } } }
این پیاده سازی به صورت زیر ظاهر می شود: