Scaffold
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In Material Design ist ein Scaffold eine grundlegende Struktur, für komplexe Benutzeroberflächen. Sie hält verschiedene Dinge zusammen wie App-Leisten und unverankerte Aktionsschaltflächen, wodurch Apps kohärentes Design.
Beispiel
Das Scaffold
-Modul bietet eine einfache API, mit der Sie die Struktur Ihrer App schnell gemäß den Material Design-Richtlinien zusammenstellen können.
Scaffold
akzeptiert mehrere zusammensetzbare Funktionen als Parameter. Dazu gehören die
Folgendes:
topBar
: Die App-Leiste oben auf dem Bildschirm.bottomBar
: Die App-Leiste am unteren Bildschirmrand.floatingActionButton
: Eine Schaltfläche, die über der unteren rechten Ecke des dem Bildschirm, über den Sie wichtige Aktionen anzeigen können.
Ausführlichere Beispiele zur Implementierung von App-Leisten oben und unten finden Sie auf der Seite „App-Leisten“.
Sie können Scaffold
-Inhalte auch wie bei anderen Containern übergeben. Es übergibt einen innerPadding
-Wert an das content
-Lambda, den Sie dann in untergeordneten Composeables verwenden können.
Das folgende Beispiel zeigt ein vollständiges Beispiel dafür, wie Sie
Scaffold
Sie enthält eine obere App-Leiste, eine untere App-Leiste und eine schwebende Aktionsschaltfläche, die mit dem internen Status von Scaffold
interagiert.
@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(), ) } } }
Diese Implementierung sieht so aus:
