文本使用行中的最小空间



下面是我的代码:

Row {
Text(
text = text1,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
Spacer(modifier = Modifier.width(2.dp))
Text(
text = text2,
maxLines = 1,
)
}

text2的长度是短的(但不是特定的宽度),而text1的长度可能是长或短。我希望text2总是可见的,text1显示省略号时,它是长。

Modifier.weight(1F)不能满足我的要求,因为text1可以总是在Row的末尾填充剩余的空间和text2。有什么办法吗?

如果您不希望weigth填充剩余空间,则可以使用fill = false参数。

Row {
Text(
text = text1,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.weight(weight = 1f, fill = false)
)
Spacer(modifier = Modifier.width(2.dp))
Text(
text = text2,
maxLines = 1,
)
}

这样,当text1较短时,它将占用所需的最小空间,当text1较长时,它将尽可能多地填充。在这两种情况下,text2仍然会占用自己的空间并保持可见。

最新更新