【问题标题】:How do I hide the Android Keyboard when using React-Native-Gifted-Chat?使用 React-Native-Gifted-Chat 时如何隐藏 Android 键盘?
【发布时间】:2021-12-08 13:03:12
【问题描述】:

我在我的 RN/Expo 应用程序中使用 React-Native-Gifted-Chat。当用户输入消息时,消息框应该随着键盘向上移动。这是我在 iOS 上遇到的行为,但在 Android 上,它掩盖了这个问题。

我尝试在“GiftedChat”道具周围添加一个“KeyboardAvoidingView”,但它会将消息框推到屏幕外。

我也尝试了下面看到的,虽然键盘没有消失,但打字时它仍然覆盖了消息框。

下面是我的代码:

<KeyboardAvoidingView>
    <SafeAreaView style = { styles.header }>
      <GiftedChat
        messages={}
        showAvatarForEveryMessage={true}
        onSend={messages => onSend(messages)}
        user={{
          _id:1,
        }}
      />
    </SafeAreaView>  
    </KeyboardAvoidingView>

【问题讨论】:

标签: javascript android react-native expo react-native-gifted-chat


【解决方案1】:

好的,所以下面的解决方案对我有用,但它可能只是因为这个屏幕只是一个“聊天屏幕”的意思:

某人进入此屏幕的目的是发送和接收消息,仅此而已。

为了解决这个问题,我消除了所有“视图”,它给了我想要的行为。

以下是更新后的代码:

return(
    <GiftedChat
        messages={}
        showAvatarForEveryMessage={true}
        onSend={messages => onSend(messages)}
        user={{
          _id:1,
        }}
    />
)

【讨论】: