安卓手机键盘弹出后立即消失问题

5

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

出现在: 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

意思是在IT技术领域中,提供一个问题视频链接。

嗨@Steve,你找到这个问题的解决方案了吗? - Dinesh Kachhot
3个回答

4

我遇到了一个非常相似的问题,尽管它与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问题。


我知道这是一个旧的线程,但我遇到了同样的问题。在我的情况下,解决方案是将removeClippedSubviews={false}添加到我的FlatList属性中,而不是我的“TextInput”中。 我也动态生成内容,并且正在使用React Native(0.70)而没有Expo。 记得重新加载应用程序,希望这能帮助需要的人! - Cosby

1
我遇到了同样的问题,我使用以下代码解决了问题:
在AndroidManifest.xml文件中添加android:windowSoftInputMode="stateAlwaysHidden|adjustPan"属性。
这个属性可以使软键盘隐藏,并且不会挡住输入框。

0
将你的外部“wrapper”设置为ScrollView。 这应该可以解决问题。
   `return ( 

    <ScrollView>

        // All your other code

    </ScrollView>
);`

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接