在Android Compose中,我想创建一个占用所有可用宽度并包含两个文本的
以下是要实现的功能:
1. 第一段文本应位于行的开头。 2. 第二段文本应紧随第一段文本后面。 3. 第一段文本的大小可变,可以软换行,并且应该先溢出。 4. 第二段文本是固定的,最多占用一行,并且只有在第一段文本无法进一步缩小时才会溢出。
我尝试了很多方法,但只能实现以下任一功能:
a. 通过将它们简单地依次放置在代码中,使第二个文本紧随第一个文本后面但先溢出。
Row
:
![How this should look](https://istack.dev59.com/CsjVe.webp)
1. 第一段文本应位于行的开头。 2. 第二段文本应紧随第一段文本后面。 3. 第一段文本的大小可变,可以软换行,并且应该先溢出。 4. 第二段文本是固定的,最多占用一行,并且只有在第一段文本无法进一步缩小时才会溢出。
我尝试了很多方法,但只能实现以下任一功能:
a. 通过将它们简单地依次放置在代码中,使第二个文本紧随第一个文本后面但先溢出。
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Text(text = title)
Text(
text = "Fixed text",
maxLines = 1
)
}
b. 让第一段文本首先溢出,但当它不溢出时,占用整个可用空间(通过向第一段文本添加Modifier.weight(1f)
)。
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Text(
text = title,
modifier = Modifier.weight(1f)
)
Text(
text = "Fixed text",
maxLines = 1
)
}
我该如何实现所描述的行为?我知道可以使用ConstraintLayout
,但如果可能的话,我想避免使用它。