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

发布于 2025-01-18 10:30:13 字数 312 浏览 0 评论 0原文

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

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

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

I want a Row in Jetpack Compose, something like this:

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

I want A & B to be left aligned, next to each other and C at the end. I don't know if the existing horizontal arrangement has ways to do this. Also I think, nesting Rows may not be a good idea. What's the best way to achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

农村范ル 2025-01-25 10:30:13

您可以使用spacer

Row {
    Text("a")
    Text("b")
    Spacer(Modifier.weight(1f))
    Text("c")
}

​> modifier.utifier.pufer 到本项目本身 - 并确保按照您的期望对内部的内容进行对齐,例如start在这种情况下,默认情况下:

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

You can use Spacer with Modifier.weight:

Row {
    Text("a")
    Text("b")
    Spacer(Modifier.weight(1f))
    Text("c")
}

In more complex scenario, when your first text is multiline, you can apply Modifier.weight to this item itself - and making sure content inside is aligned as you expect, e.g. Start in this case by default:

Row {
    Text(
        "some\nmultiline\ntext",
        modifier = Modifier
            .weight(1f)
    )
    Text("c")
}
緦唸λ蓇 2025-01-25 10:30:13

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

这应该有效:

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

The accepted answer will not work if the first Text is too long. In that case, the third text will not be shown.

This should work:

                Row {
                    Text("a")
                    Text(
                        modifier = Modifier.weight(1f),
                        text = "b"
                    )
                    Text("c")
                }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文