如何在android jetpack compose Row中自定义左/右对齐项目

srv*_*rvy 36 android android-jetpack material-components-android android-jetpack-compose

我想要 Jetpack Compose 中的一行,如下所示:

----------------------------------------------------
| A |   B   |                                  | C |
----------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我希望 A 和 B 左对齐,彼此相邻,C 在最后。不知道现有的横向排列是否有办法做到这一点。我还认为,嵌套行可能不是一个好主意。实现这一目标的最佳方法是什么?

Phi*_*hov 88

您可以Spacer使用Modifier.weight

Row {
    Text("a")
    Text("b")
    Spacer(Modifier.weight(1f))
    Text("c")
}
Run Code Online (Sandbox Code Playgroud)

在更复杂的情况下,当您的第一个文本是多行时,您可以应用于Modifier.weight该项目本身 - 并确保内部内容按照您的预期对齐,例如Start在默认情况下:

Row {
    Text(
        "some\nmultiline\ntext",
        modifier = Modifier
            .weight(1f)
    )
    Text("c")
}
Run Code Online (Sandbox Code Playgroud)

  • 对于第一个文本,它不适用于长文本 (5认同)