You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native:键盘与评论输入框间出现空白问题求助

React Native:KeyboardAvoidingView 无法解决键盘与评论输入框间的空白问题

问题描述

开发React Native应用时,已经使用KeyboardAvoidingView组件处理键盘遮挡问题,但键盘弹出后,仍会与评论输入框之间出现空白区域,问题未得到解决。

相关代码

逻辑与UI代码

import { useState, useEffect, Platform, Keyboard, KeyboardAvoidingView, ScrollView, View, StyleSheet } from 'react-native';

const [isKeyboardVisible, setKeyboardVisible] = useState(false);
const [offsetValue, setOffsetValue] = useState(0);

useEffect(() => {
  const keyboardDidShowListener = Keyboard.addListener("keyboardDidShow", () => {
    setKeyboardVisible(true);
  });
  const keyboardDidHideListener = Keyboard.addListener("keyboardDidHide", () => {
    setKeyboardVisible(false);
  });
  if (appState === "active") {
    isKeyboardVisible && Keyboard.dismiss();
  }
  return () => {
    keyboardDidHideListener.remove();
    keyboardDidShowListener.remove();
  };
}, []);

useEffect(() => {
  if (isKeyboardVisible) {
    setOffsetValue(0);
  } else {
    setOffsetValue(80);
  }
}, [isKeyboardVisible]);

return (
  <KeyboardAvoidingView
    behavior={Platform.OS === "ios" ? "padding" : "height"}
    keyboardVerticalOffset={Platform.OS === "ios" ? offsetValue : 0}
  >
    <ScrollView
      contentContainerStyle={styles.scrollViewContainer}
      alwaysBounceVertical={false}
      keyboardShouldPersistTaps={"handled"}
    >
      <View style={styles.chatInputBoxWrapper}>
        <AvyCommentLinearInput
          inputRef={props.setInputRef}
          value={props.inputValue}
          isVideoCaptureEnabled={true}
          imageUrl={""}
          onSubmit={(value) => props.onChatSubmit(value)}
        />
      </View>
    </ScrollView>
  </KeyboardAvoidingView>
);

样式代码

export default StyleSheet.create({
  scrollViewStyle: {
    marginHorizontal: 16,
    borderRadius: 4,
    marginBottom: 8,
    marginTop: 8,
  },
  chatInputBoxWrapper: {
    ...shadowStyle,
    flex: 1,
  },
  scrollViewContainer: { flexGrow: 1 },
});

问题演示

有演示视频可直观展示键盘弹出后,与评论输入框之间出现空白的具体现象。

恳请各位提供可行的解决方案!

内容的提问来源于stack exchange,提问作者user2028

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 21:10:27