react-native-keyboard-controller
A universal keyboard handling solution for React Native — lightweight, fully customizable, and built for real-world apps. Smooth animations, consistent behavior on both iOS and Android, with a developer-oriented design.
Key features
- Map keyboard movement to animated values
-
keyboardWillShow/keyboardWillHideevents now available on Android - Change soft input mode on Android
- Preload keyboard to avoid first-time focus lag
- Reanimated support
- Interactive keyboard dismissing
- Prebuilt components (
KeyboardStickyView,KeyboardAwareScrollView, reworkedKeyboardAvoidingView) -
KeyboardToolbarwith customizable previous, next, and done buttons - Display anything over the keyboard (without dismissing it) using
OverKeyboardView - Match keyboard background with
KeyboardBackgroundView - Extend keyboard with custom buttons/UI via
KeyboardExtender - Build chat interfaces (messenger and AI chats) easily with
KeyboardChatScrollView - Easy retrieval of focused input info
- Compatible with any navigation library
- More coming soon... stay tuned!
Installation
Check out the installation section of the docs for detailed setup instructions.
Documentation
Full API reference and guides available at:
https://kirillzyusko.github.io/react-native-keyboard-controller/
Contributing
See the contributing guide to learn how to contribute to the repo and development workflow.
License
MIT
Keywords
react-nativekeyboardinteractivedismissanimationfocused inputtext changedselection changedavoiding viewavoid keyboardsticky viewover keyboard viewkeyboard background viewkeyboard aware scroll viewkeyboard toolbarkeyboard done buttonkeyboard next buttonkeyboard previous buttonextend keyboardchatchat scroll viewiosandroid