【问题标题】:React native ScrollView keyboardShouldPersistTaps not working Android反应本机 ScrollView 键盘ShouldPersistTaps 不工作 Android
【发布时间】:2016-04-22 14:26:22
【问题描述】:

我有以下代码,它适用于我的 iOS 应用程序,并在单击屏幕上的任意位置时保持键盘打开,但在 Android 上它仍然关闭键盘,有什么想法吗?

return (
            <ScrollView
                style={ styles.flex }
                automaticallyAdjustContentInsets={ false }
                keyboardShouldPersistTaps={ true }
                contentInset={{ 'bottom':20 }}
                keyboardDismissMode='on-drag'
                >
                <View>...</View>
            </ScrollView>
        );

【问题讨论】:

  • 可能是,因为您的触摸被检测为拖动并且您已将keyboardDismissMode 启用为on-drag。如果没有,您是否可以提供rnplay.org sn-p?
  • 我试图删除它,但它并没有产生任何影响。奇怪的是,这只是 Android 模拟器上的问题。我不认为我可以将其分解以进行重播,恐怕这是一个大项目。
  • 也许你在View里面使用FlatList

标签: android react-native


【解决方案1】:

如果您的 ScrollView/FlatList 在另一个 ScrollView/Flatlist 中,您必须将 keyboardShouldPersistTaps 设置为父 ScrollView/Flatlist 以及所有嵌套的

【讨论】:

  • 经过测试和确认,keyboardShouldPersistTaps="handled" 需要在特定的 ScrollView 及其父级上。将其留在顶级 ScrollView 上是不够的。
  • 这是我的问题。一旦我添加到父级FlatList 中,我就在&lt;Modal /&gt; 内部的&lt;Modal /&gt; 组件内部,该组件位于父级FlatList 内部,一切都很好。谢谢!
【解决方案2】:

请你试试这个。 keyboardShouldPersistTaps="handled"

【讨论】:

    【解决方案3】:

    此选项不推荐使用值 true,请改用 always

    keyboardShouldPersistTaps="always"
    

    Docs

    【讨论】:

      【解决方案4】:

      我希望以上答案可以解决您的问题,这里是 doc

      顺便说一句,您应该为屏幕上的第一个 ScrollView 提供 keyboardShouldPersistTaps

      【讨论】:

        【解决方案5】:

        实际上在父级ScrollView 上使用keyboardShouldPersistTaps 并且还有包含我的可触摸内容的ScrollView,解决了我的问题。

        示例:

        <ScrollView keyboardShouldPersistTaps={"always"}>
          <Text> Hello World </Text>
          <ScrollView keyboardShouldPersistTaps={"always"}>
              // Here my touchable contents are being rendered and
              // I need to keep keyboard open when I tap on each of them
              {myTags.map((el,ind)=>{ return(...)}
          </ScrollView>
          <Text> The bottom content of my tags </Text>
        </ScrollView>
        

        【讨论】:

          猜你喜欢
          • 2016-01-17
          • 2020-04-22
          • 1970-01-01
          • 2018-01-04
          • 1970-01-01
          • 2019-12-18
          • 1970-01-01
          • 2021-12-27
          • 2017-04-23
          相关资源
          最近更新 更多