有没有办法在 Jetpack Compose 中生成可调整大小的 BasicTextField,以便在用户输入或删除字符时其宽度能够包裹文本大小?他们已经解决了 flutter 的类似问题,但我没有找到如何为 Compose 解决这个问题。 Flutter - 如何使 TextField 宽度适合其文本(“换行内容”)
var text: String by rememberSaveable { mutableStateOf("") }
BasicTextField(
value = text,
onValueChange = {
text = it
},
modifier = Modifier.wrapContentWidth()
)
Run Code Online (Sandbox Code Playgroud)
不幸的是,wrapContentWidth()
在这里不起作用。
android textfield android-jetpack-compose android-jetpack-compose-text
我正在尝试在 Jetpack Compose 中实现TextField
具有以下功能的 :首先它被禁用,但是当用户按下 时Button
,它会被启用并同时接收焦点。这是我的方法:
var text by remember { mutableStateOf("text") }
var enabled by remember { mutableStateOf(false)}
val focusRequester = remember { FocusRequester() }
Column {
TextField(
value = text,
onValueChange = { text = it },
enabled = enabled,
modifier = Modifier.focusRequester(focusRequester),
textStyle = TextStyle(fontSize = 24.sp)
)
Button(onClick = {
enabled = true
focusRequester.requestFocus()
}) {
Text("Enable and request focus")
}
Run Code Online (Sandbox Code Playgroud)
但是,当按下按钮时,TextField
只会启用,而不是聚焦。要聚焦它,用户必须再次单击它。我做错了什么以及可能的解决方法是什么?
android android-jetpack-compose android-jetpack-compose-text