我有一个屏幕,其中一些文本字段
我想显示一个“虚拟”键盘。这个键盘应该能够有任意数量的按钮,并且可以按照我想要的方式显示。就像下面所示。
![](https://istack.dev59.com/YB4fu.webp)
我的问题是如何实现这样的功能?
是否有可能以某种方式覆盖键盘接口,以便您可以消耗输入并显示“虚拟”键盘,然后在单击使用正常键盘的任何其他textfield
上的返回按钮时删除“虚拟”键盘?
还是我必须创建一个自定义的@Composable
或TextView
与自定义回调,并手动渲染文本光标?
我有一个屏幕,其中一些文本字段
我想显示一个“虚拟”键盘。这个键盘应该能够有任意数量的按钮,并且可以按照我想要的方式显示。就像下面所示。
我的问题是如何实现这样的功能?
是否有可能以某种方式覆盖键盘接口,以便您可以消耗输入并显示“虚拟”键盘,然后在单击使用正常键盘的任何其他textfield
上的返回按钮时删除“虚拟”键盘?
还是我必须创建一个自定义的@Composable
或TextView
与自定义回调,并手动渲染文本光标?
TextInputService 或提供 null 来完全禁用默认输入服务:
CompositionLocalProvider(
LocalTextInputService provides null // or myTextInputService
) {
TextField(
value = text,
onValueChange = { text = it },
)
}
myTextInputService
是类似以下内容的服务:
TextInputService(object : PlatformTextInputService {
//TODO implement methods
}