A React Native component for adding sticky accessory views and navigation controls above the keyboard.
react-native-keyboard-accessory is a React Native library that provides components to create accessory views and navigation controls that stick above the keyboard. It helps developers manage UI elements that need to remain visible when the keyboard is open, such as custom toolbars, navigation buttons, or additional input controls. The library solves the problem of handling keyboard interactions and maintaining a good user experience in forms and input-focused screens.
React Native developers building mobile applications with forms, multi-step inputs, or any interface requiring persistent controls above the keyboard. It's particularly useful for those needing custom keyboard accessories or navigation between form fields.
Developers choose this library for its simplicity, flexibility, and native-like behavior. It offers both a generic accessory view for custom content and a pre-built navigation component, with extensive customization options and smooth animations. Unlike basic solutions, it handles platform differences and provides advanced features like SafeArea support and keyboard avoiding behavior.
A React Native Keyboard Accessory (View, Navigation) Component. Sticky views on keyboard.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The animateOn prop allows platform-specific animations (iOS, Android, all, none), and animationConfig supports custom LayoutAnimation setups for precise show/hide effects.
KeyboardAccessoryNavigation provides out-of-the-box Previous, Next, and Done buttons with extensive styling and callback options, reducing boilerplate for form navigation.
With inSafeAreaView prop and platform-aware behavior, it seamlessly adapts to devices like iPhone X and handles iOS/Android differences for a native-like experience.
The render prop provides isKeyboardVisible state, enabling dynamic UI updates based on keyboard visibility without additional event listeners.
The accessory doesn't follow the keyboard when closed with a drag gesture, a known issue that can lead to visual glitches and poor user experience on iOS.
For ejected apps, it requires manual changes to AndroidManifest.xml and the androidAdjustResize prop, adding complexity compared to plug-and-play solutions.
While customizable via props, the pre-built navigation is designed for standard form flows; heavily custom layouts may require overriding buttons or using the base view, increasing development effort.