0Pricing
Android Academy · 课时

对齐和排列

精确定位子项

对齐和排列 是 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 / Center
  • SpaceBetween——在子项之间分配间隔。
  • 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. Column、Row 和 Box
  2. Modifier 系统
  3. 对齐和排列
  4. 使用 LazyColumn 构建列表
← 返回 Android Academy