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