小编Iva*_*mov的帖子

Jetpack Compose 中可调整大小的 BasicTextField

有没有办法在 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

14
推荐指数
1
解决办法
1万
查看次数

在 Jetpack Compose 中立即启用并聚焦文本字段

我正在尝试在 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

5
推荐指数
2
解决办法
8272
查看次数