Version: 0.62
KeyboardAvoidingView
It is a component to solve the common problem of views that need to move out of the way of the virtual keyboard. It can automatically adjust either its height, position, or bottom padding based on the keyboard height.
Example
import React, { Component } from 'react';
import { View, KeyboardAvoidingView, TextInput, StyleSheet, Text, Platform, TouchableWithoutFeedback, Button, Keyboard } from 'react-native';
const KeyboardAvoidingComponent = () => {
return (
<KeyboardAvoidingView
behavior={Platform.OS == "ios" ? "padding" : "height"}
style={styles.container}
>
<TouchableWithoutFeedback onPress={Keyboard.dismiss}>
<View style={styles.inner}>
<Text style={styles.header}>Header</Text>
<TextInput placeholder="Username" style={styles.textInput} />
<View style={styles.btnContainer}>
<Button title="Submit" onPress={() => null} />
</View>
</View>
</TouchableWithoutFeedback>
</KeyboardAvoidingView>
);
};
const styles = StyleSheet.create({
container: {
flex: 1
},
inner: {
padding: 24,
flex: 1,
justifyContent: "space-around"
},
header: {
fontSize: 36,
marginBottom: 48
},
textInput: {
height: 40,
borderColor: "#000000",
borderBottomWidth: 1,
marginBottom: 36
},
btnContainer: {
backgroundColor: "white",
marginTop: 12
}
});
export default KeyboardAvoidingComponent;
Reference
Props
Inherits View Props.
behavior
Specify how to react to the presence of the keyboard.
Android and iOS both interact with this prop differently. On both iOS and Android, setting
behavior
is recommended.
Type | Required |
---|---|
enum('height', 'position', 'padding') | No |
contentContainerStyle
The style of the content container(View) when behavior is 'position'.
Type | Required |
---|---|
View.style | No |
enabled
Enabled or disabled KeyboardAvoidingView. The default is true
.
Type | Required |
---|---|
boolean | No |
keyboardVerticalOffset
This is the distance between the top of the user screen and the react native view, may be non-zero in some use cases. Defaults to 0.
Type | Required |
---|---|
number | No |