Technically, it uses Animated.View and will animate a translateY
value to avoid the keyboard. KeyboardAvodingView
is highly recommended. But in some rare case when KeyboardAvodingView
not working, try this Spacer
.
npm install --save react-native-spacer
Class Spacer
is a wrapper using Animated.View. For usage, see official documentation Animated and View
1. Import library
import Spacer from 'react-native-spacer';
2. Wrap component into Spacer
<Spacer spaceMargin={20}>
{/* Components that need to float when keyboard showing */}
</Spacer>
Property Name | Type | Default Value | Definition |
---|---|---|---|
spaceMargin | number | 0 | Component's margin above the keyboard when it displayed |
enabled | bool | true | Set to false to disable Spacer |
backgroundColor | string | #fffffff7 | Spacer component background color |
animationDuration | number | 300 | Duration of the view animation |
Feel free to have any question, file an issue, or contributing to the module.
- Create tests
- v1.7.0: Fix
measureInWindow
not found for latest RN version (thanks @kristerkari)