我正在开发一个扫描设备的应用程序,它完全不使用虚拟键盘,所以目前,我只在用户想要打开键盘时才显示键盘(通过点击键盘图标)。
再用tab关闭虚拟键盘。
.
然而,当我通过硬键盘输入(从PC扫描设备)或点击输入,虚拟键盘仍然显示出来,没有办法阻止。
onKeyPress={() => { Keyboard.dismiss(); }}
但它仍然会产生一个恼人的打开-关闭虚拟键盘的动画。有什么办法可以停止这个动画或完全隐藏虚拟键盘?
这是一个 已知限制 的React Native。你可以尝试禁用指针事件,如下所示,但我不确定这是否会阻止物理键盘创建事件,你将失去文本滚动。
<View pointerEvents="none"> <Input value={String(value)} placeholder={placeholder} /> </View>
文本输入选择(焦点)会触发键盘。如果你不想让键盘打开,就不要使用输入。
这可能是你设计中的一个 "缺陷"。你是在TextInput的值中显示内容。为什么不直接使用不同的组件来显示内容,而只使用文本输入来进行用户输入。
或者你可以等待这个 发出 要处理。