Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在TextInput中禁用键盘AvoidingView行为_Android_React Native - Fatal编程技术网

Android 如何在TextInput中禁用键盘AvoidingView行为

Android 如何在TextInput中禁用键盘AvoidingView行为,android,react-native,Android,React Native,我正在处理使用react-native cli制作的react-native项目。问题是,当键盘处于可见/活动状态时,文本输入会突出显示&它会挤压视图并弄乱布局,这让我想起键盘避免查看行为。尽管我在这个项目中没有使用键盘avoidingview,因为所有文本输入都在屏幕的上半部分,所以它们不会被键盘覆盖 <TextInput style={styles.inputText} multiline={false} onSubmitEditing={() =&

我正在处理使用react-native cli制作的react-native项目。问题是,当键盘处于可见/活动状态时,文本输入会突出显示&它会挤压视图并弄乱布局,这让我想起键盘避免查看行为。尽管我在这个项目中没有使用
键盘avoidingview
,因为所有文本输入都在屏幕的上半部分,所以它们不会被键盘覆盖

<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"
      }
Keyboard.disclose()}
autoCapitalize=“无”
自动更正={false}
keyboardType=“数字键盘”
onChangeText={numberInputHandler}
值={enteredValue}/>
输入文本:{
颜色:“白色”,
边界宽度:2,
宽度:“30%”,
位置:“绝对”,
底部:尺寸。获取(“窗口”)。高度/5,
左:尺寸。获取(“窗口”)。宽度/5,
颜色:“白色”,
fontSize:尺寸。获取(“窗口”)。高度*0.03,
fontFamily:“Lato常规”
}
React原生版本0.61.5

测试是在Android模拟器和Android物理设备上进行的


正如我所见,您正在使用绝对定位,其中底部使用
尺寸api
获取高度。因此出现问题。尝试提供静态高度,而不是从维度获取,因为当键盘出现时,可见窗口会收缩,导致由于高度更改而重新渲染

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

Nikosssgr提供的解决方案:

在AndroidManifest.xml中


android:WindowsofInputMode=“adjustResize”将其更改为“adjustNothing”

相同的行为在我将位置更改为“相对”并在底部和左侧添加注释后,出现的键盘总是试图挤压视图并向上移动页脚,而不是隐藏它,相同的代码通常在expo管理的项目中运行,但在非expo react native中运行(当我从最初的expo项目复制代码并替换expo模块时出现此问题)只需添加android:WindowsofInputMode=“stateHidden | stateVisible | adjustPan”在您希望键盘不改变任何行为的活动中输入ManifistFile