我是 Compose 新手。当我尝试实现接受用户输入的 UI 时,在撰写文本字段时遇到问题。一旦单击文本字段,软键盘就会立即打开并能够输入文本。之后,我关闭软键盘并再次单击“文本字段”,但键盘未打开。甚至我也尝试过 Playstore 上提供的一些应用程序。但它在基于 XML 视图的应用程序上运行良好。
每当单击撰写中的文本字段时,软键盘都会打开。
您观察到的行为背后的原因如下:
FocusRequester
。按如下方式更改您的代码:
@Composable
fun MyScreen() {
val focusRequester = remember { FocusRequester() }
var inputText by remember { mutableStateOf(TextFieldValue("")) }
TextField(
modifier = Modifier
.fillMaxWidth()
.focusRequester(focusRequester), // this newly requests focus at each click
value = inputText,
onValueChange = { newText ->
inputText = newText
}
)
)
如果此答案对您有帮助,您可以通过单击此答案左侧的绿色复选标记来接受。