繁体   English   中英

如何在 TextInput 中禁用 keyboardAvoidingView 行为

[英]How to disable the keyboardAvoidingView behaviour in TextInput

我正在开发一个使用 react native cli 制作的 react native 项目。 问题是当键盘可见/活动时 TextInput 会突出显示并且它挤压视图并弄乱布局,这让我想起了 KeyboardAvoidingView 行为。 即使我在这个项目中不使用KeyboardAvoidingView ,因为所有文本输入都在屏幕的上半部分,所以它们不会被键盘覆盖。

<TextInput
      style={styles.inputText}
      multiline={false}
      onSubmitEditing={() => Keyboard.dismiss()}
      autoCapitalize="none"
      autoCorrect={false}
      keyboardType="number-pad"
      onChangeText={numberInputHandler}
      value={enteredValue}/>

 inputText: {
      borderBottomColor: "white",
      borderBottomWidth: 2,
      width: "30%",
      position: "absolute",
      bottom: Dimensions.get("window").height / 5,
      left: Dimensions.get("window").width / 5,
      color: "white",
      fontSize: Dimensions.get("window").height * 0.03,
      fontFamily: "Lato-Regular"
      }

反应本机版本 0.61.5

测试是在 Android 模拟器和 Android 物理设备上完成的

在此处输入图片说明

在此处输入图片说明

正如我所看到的,您正在使用绝对定位,其中底部使用Dimension api来获取高度。 问题由此发生。 尝试提供静态高度,而不是从 Dimension 中获取,因为当键盘出现时,可见窗口会缩小,导致由于高度变化而重新渲染。

position: "absolute",
bottom: Dimensions.get("window").height / 5,

Nikosssgr 提供的解决方案:

在 AndroidManifest.xml 中

android:windowSoftInputMode="adjustResize" 将其更改为 "adjustNothing"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM