对齐和排列
精确定位子项
对齐和排列 是 CoddyKit 上的免费 Android Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Android Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Android Academy 课程共包含 4 节课。
定位子项
在 Column 或 Row 中,有两个设置控制子项的位置:对齐(沿布局的交叉轴)和排列(沿布局的主轴)。
Column 对齐
在 Column 中,子项会垂直堆叠。horizontalAlignment 控制它们的水平位置——左侧、居中或右侧。
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Text("Centered")
Text("Also centered")
}Column 排列
verticalArrangement 控制子项如何沿垂直方向分布——顶部、居中、底部或均匀间隔。
Column(verticalArrangement = Arrangement.Center) {
Text("A")
Text("B")
}Row 对齐
在 Row 中,两个轴的作用会调换。verticalAlignment 控制子项的垂直位置,而 horizontalArrangement 负责在水平方向分布它们。
Row(verticalAlignment = Alignment.CenterVertically) {
Text("Left")
Text("Right")
}记住这对概念
提示:对齐对应交叉轴,排列对应主轴。在 Column 中,主轴是垂直方向,因此使用 verticalArrangement 和 horizontalAlignment。
排列选项
常见的 Arrangement 值:
Top/Bottom/CenterSpaceBetween——在子项之间分配间隔。SpaceAround/SpaceEvenly
SpaceBetween
SpaceBetween 会将第一个和最后一个子项推到两端,并在其余子项之间均匀分配空间——非常适合制作顶部栏,例如标题在左侧、图标在右侧。
Row(horizontalArrangement = Arrangement.SpaceBetween) {
Text("Title")
Text("Action")
}Arrangement.spacedBy
Arrangement.spacedBy(8.dp) 会在每个子项之间添加固定间隔,这是让列表项保持均匀间距的最简洁方式。
Column(verticalArrangement = Arrangement.spacedBy(8.dp)) {
Text("One")
Text("Two")
Text("Three")
}将 spacedBy 与对齐结合
您可以同时结合排列和对齐,从而全面控制布局。
Column(
verticalArrangement = Arrangement.spacedBy(12.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
Text("Title")
Button(onClick = {}) { Text("Go") }
}Box 对齐
对于 Box,可以使用 contentAlignment 定位子项,也可以在单个子项上使用 Modifier.align(),分别设置每个子项的位置。
Box(modifier = Modifier.fillMaxSize()) {
Text(
text = "Bottom",
modifier = Modifier.align(Alignment.BottomCenter)
)
}整合应用
一个顶部行布局和一个均匀间隔的列表。
Column(verticalArrangement = Arrangement.spacedBy(8.dp)) {
Row(horizontalArrangement = Arrangement.SpaceBetween) {
Text("Inbox")
Text("Edit")
}
Text("Message 1")
Text("Message 2")
}快速检查
在 Column 中,哪个参数控制子项的水平位置?
回顾
定位:
- 对齐 = 交叉轴;排列 = 主轴。
- Column:
horizontalAlignment+verticalArrangement。 - Row:
verticalAlignment+horizontalArrangement。 Arrangement.spacedBy()会添加均匀间隔。
常见问题解答
「对齐和排列」课时是免费的吗?
是的 — 「对齐和排列」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Android Academy 课程的其余内容,请升级到 CoddyKit PRO。 Android Academy 课程共包含 4 节课。
「对齐和排列」这节课中我会学到什么?
精确定位子项 你通过在浏览器中直接运行的动手代码来练习 Android Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Android Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Android Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「对齐和排列」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Android Academy 课中编写并运行代码吗?
能。每节 Android Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。