本页介绍了如何实现基本的 FlexBox 布局。
设置项目
将
androidx.compose.foundation.layout库添加到项目的lib.versions.toml中。[versions] compose = "1.11.0-beta01" [libraries] androidx-compose-foundation-layout = { group = "androidx.compose.foundation", name = "foundation-layout", version.ref = "compose" }将库依赖项添加到应用的
build.gradle.kts中。dependencies { implementation(libs.androidx.compose.foundation.layout) }
创建基本的 FlexBox 布局
示例 1:FlexBox 会布局两个居中对齐的 Text 元素。
FlexBox( config = { direction(FlexDirection.Column) alignItems(FlexAlignItems.Center) } ) { Text(text = "Hello", fontSize = 48.sp) Text(text = "World!", fontSize = 48.sp) }

示例 2:FlexBox 将五个项目换行到两行,并以不等的比例展开它们,以填充每行中的可用空间。各项之间存在 8.dp 的垂直和水平间距。
FlexBox( config = { wrap(FlexWrap.Wrap) gap(8.dp) } ) { RedRoundedBox() BlueRoundedBox() GreenRoundedBox(modifier = Modifier.width(350.dp).flex { grow(1.0f) }) OrangeRoundedBox(modifier = Modifier.width(200.dp).flex { grow(0.7f) }) PinkRoundedBox(modifier = Modifier.width(200.dp).flex { grow(0.3f) }) }

如需详细了解 FlexBox 行为,请参阅设置容器行为和设置商品行为。