如何在 Jetpack Compose 中对齐不同行的两个文本

Sau*_*aul 4 android row alignment kotlin android-jetpack-compose

我在 LazyColumn 中的一行中有 3 个文本,然后在另一行中有另外三个文本

图像

我想将第一行中心的“文本”与第二行中的“15.025”值对齐

我用过

TextAlign.Center
Run Code Online (Sandbox Code Playgroud)

在文本和

             horizontalArrangement = Arrangement.SpaceBetween,
             verticalAlignment = Alignment.CenterVertically
Run Code Online (Sandbox Code Playgroud)

在行上设置它,但它不起作用。有什么建议吗?

我对 Compose 还很陌生,很抱歉提出这个基本问题。

Pha*_*inh 9

您可以使用Modifier.weight使“左视图”的宽度等于“右视图”的宽度。它将使每行的中间文本始终居中。

Row(Modifier.fillMaxWidth()) {
    Text(
        text = "Start",
        modifier = Modifier.weight(1f)
    )
    Text(
        text = "Center",
        textAlign = TextAlign.Center, // you can also fixed the width of center text
    )
    Text(
        text = "End",
        modifier = Modifier.weight(1f),
        textAlign = TextAlign.End
    )
}
Run Code Online (Sandbox Code Playgroud)

如果您的文本内容总是很短,您还可以使用Box使中间文本始终居中。

Box(Modifier.fillMaxWidth()) {
    Text(text = "Start", modifier = Modifier.align(Alignment.CenterStart))
    Text(text = "Center", modifier = Modifier.align(Alignment.Center))
    Text(text = "End", modifier = Modifier.align(Alignment.CenterEnd))
}
Run Code Online (Sandbox Code Playgroud)