Avoiding keyboard
Unistyles 3.0 introduces a new inset
called ime
, which is automatically animated when the keyboard appears or disappears.
Using this inset in your style will automatically register it for future updates.
Unistyles dynamically recalculates your styles based on their dependencies. To learn more about how Unistyles re-calculates your styles, please refer to the guide.
Usage
import { TextInput, View } from 'react-native'import { StyleSheet } from 'react-native-unistyles'
const KeyboardAvoidingView = () => { return ( <View style={styles.container}> <TextInput style={styles.input} /> </View> )}
const styles = StyleSheet.create((theme, rt) => ({ container: { flex: 1, alignItems: 'center', justifyContent: 'flex-end', backgroundColor: theme.colors.backgroundColor, paddingHorizontal: theme.gap(2), paddingTop: rt.insets.top, transform: [ { translateY: rt.insets.ime * -1 } ] }, input: { width: '100%', }}))
In this example, the container
will automatically adjust to avoid the keyboard, ensuring the input
remains visible at all times.