Android 针对特定文本字段撰写伪造键盘

Osc*_*tor 6 textfield android-layout custom-keyboard android-jetpack-compose android-compose-textfield

我有一个屏幕,textfields我想在其中显示“假”键盘。键盘应该能够有我喜欢的任意数量的按钮,并按照我想要的方式显示。如下图所示。

那么我的问题是你如何完成这样的事情?

是否可以以某种方式覆盖键盘接口,以便您使用输入并可以显示“假”键盘,然后在单击任何其他textfield使用普通键盘的后退按钮时删除“假”键盘?

或者我是否必须创建自定义@ComposableTextView使用自定义回调,并手动渲染文本光标?

Gab*_*tti 8

您可以实现自己的TextInputService或提供null以完全禁用默认输入服务:

CompositionLocalProvider(
  LocalTextInputService provides null // or myTextInputService 
) {
    TextField(
        value = text,
        onValueChange = { text = it },
    )
}
Run Code Online (Sandbox Code Playgroud)

哪里myTextInputService有类似的东西:

TextInputService(object : PlatformTextInputService {
    //TODO implement methods
}
Run Code Online (Sandbox Code Playgroud)

  • 如何使用自定义键盘处理 TextField 中的光标位置? (3认同)