将内容环绕在 TextField 中的文本周围
Wrap content around text in TextField
我正在尝试制作一个最小尺寸的 TextField,并围绕其中写入的文本展开,我该如何实现?
这是我的测试代码
var text by rememberSaveable { mutableStateOf("Prova") }
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween
) {
Text(text = "Test")
TextField(
modifier = Modifier
// .widthIn(10.dp, Dp.Infinity)
// .width(IntrinsicSize.Min)
.width(30.dp)
.wrapContentWidth(),
value = text,
onValueChange = {
text = it
},
textStyle = TextStyle.Default.copy(
textAlign = TextAlign.End
)
)
}
这是我寻找的结果(应该用更多的文本宽度展开,直到它碰到左边的文本)
感谢您的帮助!
使用 Spacer
和中间的 Modifier.weight(1f)
将使其有效。
我建议将 TextField
替换为 BasicTextField
以更好地控制其外观(特别是实现最小宽度小于 MinWidth
默认值 280.dp
).
var text by rememberSaveable { mutableStateOf("Prova") }
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween
) {
Text(text = "Test")
Spacer(modifier = Modifier.weight(1f))
TextField(
modifier = Modifier
.widthIn(1.dp),
value = text,
onValueChange = {
text = it
},
textStyle = TextStyle.Default.copy(
textAlign = TextAlign.End
)
)
}
我正在尝试制作一个最小尺寸的 TextField,并围绕其中写入的文本展开,我该如何实现?
这是我的测试代码
var text by rememberSaveable { mutableStateOf("Prova") }
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween
) {
Text(text = "Test")
TextField(
modifier = Modifier
// .widthIn(10.dp, Dp.Infinity)
// .width(IntrinsicSize.Min)
.width(30.dp)
.wrapContentWidth(),
value = text,
onValueChange = {
text = it
},
textStyle = TextStyle.Default.copy(
textAlign = TextAlign.End
)
)
}
这是我寻找的结果(应该用更多的文本宽度展开,直到它碰到左边的文本)
感谢您的帮助!
使用 Spacer
和中间的 Modifier.weight(1f)
将使其有效。
我建议将 TextField
替换为 BasicTextField
以更好地控制其外观(特别是实现最小宽度小于 MinWidth
默认值 280.dp
).
var text by rememberSaveable { mutableStateOf("Prova") }
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween
) {
Text(text = "Test")
Spacer(modifier = Modifier.weight(1f))
TextField(
modifier = Modifier
.widthIn(1.dp),
value = text,
onValueChange = {
text = it
},
textStyle = TextStyle.Default.copy(
textAlign = TextAlign.End
)
)
}