如何在 Jetpack Compose 中以编程方式将焦点设置到 TextField?
大家好!我刚开始学习 Jetpack Compose,遇到了一个问题,在经典的 Android View 中只需调用 `requestFocus()` 即可解决。
我需要的是,在打开屏幕或点击按钮时,焦点自动跳转到特定的输入字段(TextField)。例如,有一个搜索屏幕,用户应该立即开始输入文本,而无需点击输入字段。
以下是我当前的代码:
```kotlin
@Composable
fun SearchScreen() {
var query by remember { mutableStateOf("") }
TextField(
value = query,
onValueChange = { query = it },
label = { Text("搜索") }
)
Button(onClick = { /* 需要将焦点设置回 TextField */ }) {
Text("重置并聚焦")
}
}
```
我尝试过使用 `Modifier.focusRequester()` 和 `FocusRequester`,但没有任何效果——焦点没有设置。文档中提到了一些关于 `focusable()` 的内容,但我不明白如何使用。