英文:
Add ellipsize to first text when it is long in jetpack compose
问题
我有一个包含两个“Text”的“Row”。
如果text1很长,text2就没有地方,就会发生这种情况。如何解决这个问题?
接受的解决方案如下图所示:
英文:
I have a Row
with 2 Text
in it
Row(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
verticalAlignment = Alignment.CenterVertically,
) {
Text(
text = "text1",
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.wrapContentWidth(),
)
Spacer(modifier = Modifier.width(4.dp))
Text(
text = "(text2)",
maxLines = 1,
modifier = Modifier.weight(1f),
)
}
答案1
得分: 2
尝试使用RowScope.weight来设置第一个文本,并传递fill = false
以避免占据整个宽度。
Row(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
verticalAlignment = Alignment.CenterVertically,
) {
Text(
text = "text1",
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.weight(1f, fill = false),
)
Spacer(modifier = Modifier.width(4.dp))
Text(
text = "(text2)",
maxLines = 1,
)
}
英文:
Try to use RowScope.weight for first text and pass fill = false
to avoid occupying whole width.
Row(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
verticalAlignment = Alignment.CenterVertically,
) {
Text(
text = "text1",
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.weight(1f, fill = false),
)
Spacer(modifier = Modifier.width(4.dp))
Text(
text = "(text2)",
maxLines = 1,
)
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论