Materyal Tasarım'da yapı, karmaşık kullanıcı arayüzleri için standartlaştırılmış bir platform sağlayan temel bir yapıdır. Uygulama çubukları ve kayan işlem düğmeleri gibi kullanıcı arayüzünün farklı bölümlerini bir araya getirerek uygulamalara tutarlı bir görünüm ve tarz katar.
Örnek
Scaffold
composable, uygulamanızın yapısını Materyal Tasarım yönergelerine göre hızla derlemek için kullanabileceğiniz basit bir API sunar.
Scaffold
, çeşitli composable'ları parametre olarak kabul eder. Bunlardan bazıları:
topBar
: Ekranın üst kısmındaki uygulama çubuğu.bottomBar
: Ekranın alt kısmındaki uygulama çubuğu.floatingActionButton
: Temel işlemleri göstermek için kullanabileceğiniz, ekranın sağ alt köşesinde bulunan bir düğme.
Hem üst hem de alt uygulama çubuklarını nasıl uygulayabileceğinizle ilgili daha ayrıntılı örnekler için uygulama çubukları sayfasına bakın.
Ayrıca, Scaffold
içeriğini diğer kapsayıcılara olduğu gibi aktarabilirsiniz. content
lambda'ya, daha sonra alt composable'larda kullanabileceğiniz bir innerPadding
değeri iletir.
Aşağıdaki örnekte, Scaffold
uygulamasını nasıl uygulayabileceğinize dair tam bir örnek verilmiştir. Bir üst uygulama çubuğu, alt uygulama çubuğu ve Scaffold
uygulamasının dahili durumuyla etkileşime giren bir kayan işlem düğmesi içerir.
@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(), ) } } }
Bu uygulama aşağıdaki gibi görünür: