首页 > 解决方案 > Jetpack compose:文本字段提取模式的错误

问题描述

我正在使用 Jetpack compose 开发一个 Android 应用程序,我注意到在垂直空间很小的屏幕上,文本字段组件通过键盘切换到“全屏”(提取模式)。

到目前为止行为正常,但是在提取模式下尝试在输入字段中输入文本时出现奇怪的行为,键入的字符不显示。但是,一旦我们关闭键盘并且文本字段返回到其经典形式,输入的文本就会出现。

在此处找到显示问题和相应代码的视频:

val emailField: MutableState<String> = remember { mutableStateOf("Hi stackoverflow") }

Column(Modifier.padding(12.dp)) {
    TextField(
        modifier = Modifier.fillMaxWidth(),
        value = emailField.value,
        onValueChange = {
            emailField.value = it
        },
        singleLine = true,
        isError = emailError,
        leadingIcon = { Icon(Icons.Filled.Email, contentDescription = "") },
        keyboardOptions = KeyboardOptions(
            imeAction = ImeAction.Next
        ),
        keyboardActions = KeyboardActions(
            onNext = {
                focusRequester.requestFocus()
            }
        ),
        label = {
            Text(stringResource(R.string.settings_authenticate_email_address))
        }
    )
}

这可能是 Jetpack compose 中的错误,还是代码本身的问题?

感谢您的回复。

标签: androidkotlintextfieldandroid-jetpack-compose

解决方案


推荐阅读