我正在为根本不使用虚拟键盘的扫描设备开发应用程序。所以目前,我只在用户想要打开它时显示键盘(通过点击键盘图标)
并再次 Tab 以关闭虚拟键盘。
但是,当我通过硬键盘(从 PC / 扫描设备)输入输入或点击输入时,虚拟键盘仍然出现,无法阻止。我可以通过以下方式捕捉事件并关闭虚拟键盘:
onKeyPress={() => {
Keyboard.dismiss();
}}
但它仍然会产生令人讨厌的开-关虚拟键盘动画。无论如何要停止此动画或完全隐藏虚拟键盘?
我正在为根本不使用虚拟键盘的扫描设备开发应用程序。所以目前,我只在用户想要打开它时显示键盘(通过点击键盘图标)
并再次 Tab 以关闭虚拟键盘。
但是,当我通过硬键盘(从 PC / 扫描设备)输入输入或点击输入时,虚拟键盘仍然出现,无法阻止。我可以通过以下方式捕捉事件并关闭虚拟键盘:
onKeyPress={() => {
Keyboard.dismiss();
}}
但它仍然会产生令人讨厌的开-关虚拟键盘动画。无论如何要停止此动画或完全隐藏虚拟键盘?
这是 React Native 的一个已知限制。您可以尝试如下禁用指针事件,但我不确定这会阻止物理键盘创建事件并且您将丢失文本滚动:
<View pointerEvents="none">
<Input
value={String(value)}
placeholder={placeholder}
/>
</View>
使用 textInput 'showSoftInputOnFocus' 示例的道具:
<TextInput showSoftInputOnFocus={false} />
此处的文档https://github.com/facebook/react-native/commit/d88e4701fc46b028861ddcfa3e6ffb141b3ede3d