Skip to content

[Android] "formSheet" displays above tab bar in nested layout #12925

@jermahs

Description

@jermahs

Current behavior

When you have a Stack nested in a Tabs layout. Where the Stack has a Screen with presentation: 'formSheet', then on android it displays above the tab bar of the parent layout. On iOS it displays over the tab bar, thus hiding it which is what I expected it to do and believe should be the correct behavior.

I know that I can just move formSheet displayed screen outside of the tab layout and then it should work. However, I'm trying to have this form sheet control filters that affect the tab's primary content and those are populated through a context/provider that wraps the layout. I'm sure there are other ways to do this, but I think this should be addressed as suggested.

Image

Expected behavior

The formSheet screen should display over the tab bar. See previous screenshot for comparing iOS to Android behavior.

Reproduction

https://github.com/jermahs/github-issue-android-formsheet-with-tabs

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
expo-router ~6.0.21
@react-navigation/native ^7.1.8
@react-navigation/bottom-tabs ^7.4.0
react-native-screens ~4.16.0"
react-native-safe-area-context ~5.6.0
react-native-gesture-handler ~2.28.0
react-native-reanimated ~4.1.1
react-native 0.81.5
expo ~54.0.31
node v20.19.4
npm or yarn pnpm

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions