Android Jetpack 撰写 : Listen to user's keyboard input not working with Enter key

标签 android kotlin android-jetpack-compose

我试图在按下软键盘上的 Enter 键时执行一个功能,我 found Modifier.onKeyEvent{} 用于在一般情况下监听用户在软键盘上的输入。

但是,这不适用于 Enter 键(尤其是数字键盘上的“完成”键)。

我的软键盘是这样的

enter image description here

在 TextField 下面使用这个选项

keyboardOptions = KeyboardOptions.Default.copy(keyboardType = KeyboardType.Number)

当我在按下的任何键上打印日志时,所有其他按下的键都会被识别,但那些“完成”和“.-”键除外。

最佳答案

你可以用keyboardActions来处理它文本字段参数:

TextField(
    value = text, onValueChange = { text = it },
    keyboardOptions = KeyboardOptions.Default.copy(
        keyboardType = KeyboardType.Number,
        imeAction = ImeAction.Done
    ),
    keyboardActions = KeyboardActions(onDone = {
        println("done")
    })
)

关于Android Jetpack 撰写 : Listen to user's keyboard input not working with Enter key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69394673/

相关文章:

android - 农场塔、愤怒的小鸟、割绳子等级别选择器屏幕?

java - Android Mediaplayer Streaming - 现在工作但没有

android - Razorpay android SDK集成问题

user-interface - 是否可以在 Jetpack 中使行的边缘变圆?

android - 有没有办法在 android Jetpack Compose 中自定义 LazyRow 拖动或滚动行为?

android - Compose Runtime 找不到我的自定义主题

android - 条件 fragment 和导航重用

java - 外部存储的安装状态和正确权限问题

kotlin - 如何在 Kotlin @Deprecated 注释中指定泛型类型参数?

java - 在 Kotlin 中实例化对象时如何覆盖方法?