KeyboardAvoidingView
This component will automatically adjust its height, position, or bottom padding based on the keyboard height to remain visible while the virtual keyboard is displayed.
info
On Windows it follows the touch keyboard through the events Keyboard sends, which have not been tested on touch hardware. On macOS and Linux there are no keyboard events, so it lays out as a plain View. Use it in code shared with iOS and Android; it changes nothing on desktop.
Exampleโ
React JSX
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โ
View Propsโ
Inherits View Props.
behaviorโ
Specify how to react to the presence of the keyboard.
| Type |
|---|
enum('height', 'position', 'padding') |
contentContainerStyleโ
The style of the content container (View) when behavior is 'position'.
| Type |
|---|
| View Style |
enabledโ
Enabled or disabled KeyboardAvoidingView.
| Type | Default |
|---|---|
| boolean | true |
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.
| Type | Default |
|---|---|
| number | 0 |