如何在Android Jetpack Compose中自定义行中的左/右对齐项目

30

我希望在Jetpack Compose中获得一行,类似于这样:

----------------------------------------------------
| A |   B   |                                  | C |
----------------------------------------------------

我希望A和B左对齐,且紧挨着排列。C在最后。我不确定现有的横向排列是否有方法可以实现这一点。同时,我认为嵌套行可能并不是一个好主意。如何最好地实现这个效果呢?

2个回答

82
您可以使用SpacerModifier.weight
Row {
    Text("a")
    Text("b")
    Spacer(Modifier.weight(1f))
    Text("c")
}

在更复杂的情况下,当你的第一段文本是多行时,你可以将 Modifier.weight 应用于该项本身,并确保内部内容对齐如你所期望,例如在此情况下默认为 Start
Row {
    Text(
        "some\nmultiline\ntext",
        modifier = Modifier
            .weight(1f)
    )
    Text("c")
}

4
将以下与编程有关的内容从英语翻译成中文。仅返回已翻译的文本:对于第一段文本中的长文本,这不起作用。 - Joao

2

如果第一个文本太长,那么接受的答案将不起作用。在这种情况下,第三个文本将不会显示。

这应该可以解决问题:

                Row {
                    Text("a")
                    Text(
                        modifier = Modifier.weight(1f),
                        text = "b"
                    )
                    Text("c")
                }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接