首页 > 解决方案 > 键盘在 Android 上打开并立即消失

问题描述

问题:在动态填充列表中选择输入框时,键盘会立即消失。仅在选择页面底部附近的输入框时发生。

发生在:Android(适用于 ios)

该应用程序是用 Expo 创建的,我还没有退出。

当前使用的是 KeyboardAwareFlatlist,但是如果我将其切换为 FlatList,仍然会出现问题。下面是 TextInput 的代码。如果您想要任何其他代码,请告诉我。

<TextInput
  style={{
  color: 'black',
  backgroundColor: 'white',
  padding: 5,
  fontSize: 16,
  marginBottom: 10,
  }}
  keyboardType={'numeric'}                                       
  returnKeyType='done'
  onChangeText={(text) => this.setDuration(text, index)}
  value={item.duration.toString()}
 />

问题视频:https ://www.youtube.com/watch?v=U3Ps_tz4Uxw&feature=youtu.be

标签: reactjskeyboardnativeexporeact-native-flatlist

解决方案


所以我遇到了非常相似的事情,尽管它与 FlatList 无关。

我的解决方法是removeClippedSubviews={false}像这样添加:

<Input
    id="description"
    label="Description"
    errorText="Enter a valid Description"
    keyboardType="default"
    removeClippedSubviews={false}
    autoCorrect
    multiline
    type="text"
    required
/>

什么也有效,虽然它看起来有点脏是通过使用:

keyboardDismissMode='none'

像这样:

<Input
    id="title"
    label="Title"
    keyboardDismissMode='none'
    errorText="Enter a valid title"
    autoCapitalize="sentences"
    keyboardType="default"
    returnKeyType="next"
    onInputChange={inputChangeHandler}
    required
/>

让我知道这是否有效。希望这个答案能及时传达给您。我讨厌未回答的 Stack Overflow 问题


推荐阅读