[英]KeyboardAvoidingView not working with TextInput password fields Properly on Android
[英]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.