Skip to content

mateusz1913/react-native-avoid-softinput

Repository files navigation

react-native-avoid-softinput

React Native Avoid SoftInput logo
Handle keyboard in React Native apps like a Pro

Native solution for common React Native problem of focused views being covered by soft input view. It is solved by listening for soft input events and applying translation to react root view (or bottom padding if focused element's parent is scroll view) entirely on native side and only if currently focused view is covered by soft input frame. It supports focused views being positioned in scroll views and regular views (check out example app). It also supports modal content, when content is wrapped in AvoidSoftInputView.

Form example Sticky footer example

Documentation

Check package documentation

Support

This library follows the React Native releases support policy. It is supporting the latest version, and the two previous minor series. You may find it working correctly with some older React Native versions, but it'll be a "Use at your own risk" case.

This library supports "New Architecture".

Installation

Library supports Android & iOS, for out-of-tree platforms, View component is used as fallback.

  1. Install library with your package manager:
yarn add react-native-avoid-softinput

or

npm i --save react-native-avoid-softinput
  1. (iOS-only) Install pods:
npx pod-install
  1. (iOS-only) Create and configure bridging header in your iOS project, if it doesn't exist (the easiest way is to create empty .swift file in XCode)

For reference, you can visit Getting started section

Expo

Usage

Check usage guides for module and view

Alternatives

If library does not suite your needs, you can check alternatives section

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT