react native KeyboardAwareScrollView或者KeyboardAvoidingView失效问题解决
1、示例正确案例:export default classConnectServicePageextends Component{state = {behavior: 'padding',};render() {return (<View style={styles.container}><KeyboardAvoidingView behavior=
·
1、示例正确案例:
export default class ConnectServicePage extends Component{
state = {
behavior: 'padding',
};
render() {
return (
<View style={styles.container}>
<KeyboardAvoidingView behavior="padding" style={styles.container}>
<Image source={require('../../assets/serve/Illustration_serve.png')} style={{marginTop: px2dp(100)}}/>
<TextInput
underlineColorAndroid={'#ffffff'}
placeholder="这里是一个简单的输入框"
style={styles.textInput} />
</KeyboardAvoidingView>
</View>
);
}
};
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor:'white',
justifyContent: 'center',
paddingHorizontal: 20,
paddingTop: 20,
},
textInput: {
borderRadius: 5,
borderWidth: 1,
height: 140,
paddingHorizontal: 10,
},
});
2、KeyboardAwareScrollView或者KeyboardAvoidingView的子控件顶部为一张大图片,图片下部为输入框,这时会出现输入框被遮挡的问题。这是有子控件的justifyContent不是 'center'导致,例如是:'space-between',就会出现问题。
当KeyboardAwareScrollView控件时指定指定子控件的属性,例如使用了该控件的contentContainerStyle的属性。这时需要注意,该属性的styles中的justifyContent也不能使用'space-between'。只能下面这样:
keyboardAwareScrollViewStyle:{
alignItems: 'center',
justifyContent: 'center',
flex: 1,
}
<KeyboardAwareScrollView style={
contentContainerStyle={styles.keyboardAwareScrollViewStyle}
behavior="padding">
更多推荐


所有评论(0)