以免将我的情况简化为当前:
Row(
modifier = Modifier
.background(Color.Red),
) {
Text(
text = ELLIPSIZE_THIS_TEXT,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
Text(
text = LEAVE_THIS_TEXT_NOT_ELLIPSIZED,
maxLines = 1,
overflow = TextOverflow.Visible,
)
}
如果我将权重(1f)添加到第一个文本修饰符,它会按预期工作,但行占据了所有行。但我的目标是只占据所需的位置,如果我没有足够的位置 - 省略第一个文本。
我需要图像 2 和 3 的行为。
最佳答案
您可以为此使用 fill
属性。将其设置为 false 将导致文本较小时换行,如果文本较大则省略文本。试试这个。
Row(
modifier = modifier
.background(Color.Red).padding(10.dp),
) {
Text(
text = "Jetpack Compose Ui Tool-kit",
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier=Modifier.weight(1f, fill = false)
)
Spacer(modifier = Modifier.width(12.dp))
Text(
text = "LEAVE_THIS_TEXT",
maxLines = 1,
overflow = TextOverflow.Visible,
)
}
关于android - 在 Jetpack Compose 中选择要省略的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72739333/