3

我正在为根本不使用虚拟键盘的扫描设备开发应用程序。所以目前,我只在用户想要打开它时显示键盘(通过点击键盘图标)

虚拟键盘打开

并再次 Tab 以关闭虚拟键盘。

虚拟键盘关闭 .

但是,当我通过硬键盘(从 PC / 扫描设备)输入输入或点击输入时,虚拟键盘仍然出现,无法阻止。我可以通过以下方式捕捉事件并关闭虚拟键盘:

onKeyPress={() => {
  Keyboard.dismiss();
}}

但它仍然会产生令人讨厌的开-关虚拟键盘动画。无论如何要停止此动画或完全隐藏虚拟键盘?

4

2 回答 2

1

这是 React Native 的一个已知限制。您可以尝试如下禁用指针事件,但我不确定这会阻止物理键盘创建事件并且您将丢失文本滚动:

    <View pointerEvents="none">
      <Input
        value={String(value)}
        placeholder={placeholder}
      />
    </View>
于 2020-05-26T05:59:41.607 回答
0

使用 textInput 'showSoftInputOnFocus' 示例的道具:

<TextInput showSoftInputOnFocus={false} />

此处的文档https://github.com/facebook/react-native/commit/d88e4701fc46b028861ddcfa3e6ffb141b3ede3d

于 2020-08-31T20:03:28.360 回答