📄️ First animation
To build your first animation you will need to use two hooks: useKeyboardAnimation or useReanimatedKeyboardAnimation.
📄️ Building own hook
Default hooks may not perfectly fit in your app, because it changes/restores softInputMode on mount/unmount of the component where it's used. Though in deep stacks sometimes it may be important to have different softInputMode per screen, but by default react-navigation keeps previous screens mounted, so if you are using default useKeyboardAnimation hook, then all following screens will have softInputMode=adjustResize.
📄️ Compatibility
react-native