react-navigation / react-navigation/react-navigation
[Android] `formSheet` below keyboard when input is focus
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 24.5k
- Forks
- 5.1k
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 18
Description
Current behavior
Having a formSheet presentation with an input on it, when input is focused the modal stay below the keyboard.
| Android ❌ | iOS ✅ |
|---|---|
https://github.com/software-mansion/react-native-screens/issues/3181
Expected behavior
Modal should go up to be above keyboard, like iOS does
Reproduction
https://snack.expo.dev/@hugoextrat/formsheet-android-keyboard
Platform
- Android
- iOS
- Web
- Windows
- MacOS
Packages
- @react-navigation/bottom-tabs
- @react-navigation/drawer
- @react-navigation/material-top-tabs
- @react-navigation/stack
- @react-navigation/native-stack
- react-native-drawer-layout
- react-native-tab-view
Environment
- I've removed the packages that I don't use
| package | version |
|---|---|
| @react-navigation/native | 7.1.17 |
| @react-navigation/bottom-tabs | 7.4.7 |
| @react-navigation/native-stack | 7.3.26 |
| react-native-screens | 4.15.4 |
| react-native-safe-area-context | 5.6.1 |
| react-native-gesture-handler | 2.28.0 |
| react-native-reanimated | 3.19.1 |
| react-native | 0.79.6 |
| expo | 53.0.22 |
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked Snack reproduction and compare the Android and iOS formSheet behavior. Read react-native-screens issue #3181 and the @react-navigation/native-stack integration context; done means the Android modal moves above the keyboard when its input is focused, matching the expected iOS behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, react-native, typescript
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100