I am using the modal_bottom_sheet library to display the cupertino modals. But when opening the modal screen on a page with cupertinoTabView, it does not hide the navigation bar(pic1). If it is displayed with the flag useRootNavigator: true, it is not displayed as I need it (pic2).
this is how i call ModalBottomSheet
onTap: () {
showCupertinoModalBottomSheet<Widget>(
useRootNavigator: true,
expand: true,
context: context,
backgroundColor: Colors.transparent,
builder: (context) => SupportHelpster(),
);
},
code bottomNavigator
tabBuilder: (context, index) => CupertinoTabView(
onGenerateRoute: (_) {
switch (index) {
case 0:
return MaterialWithModalsPageRoute<Widget>(
builder: (_) => const HomeScreen(),
);
case 1:
return MaterialWithModalsPageRoute<Widget>(
builder: (_) => const DocumentScreen(),
);
case 2:
return MaterialWithModalsPageRoute<Widget>(
builder: (_) => const ProfileScreen(),
);
}
},
),
and onGenerateRoute code
Route? onGenerateRoute(RouteSettings settings) {
switch (settings.name) {
case Screens.main:
return CupertinoPageRoute<Widget>(
builder: (_) => const CupertinoTabScreen(),
);
case Screens.home:
return MaterialWithModalsPageRoute<Widget>(
builder: (_) => const HomeScreen(),
);
case Screens.document:
return MaterialWithModalsPageRoute<Widget>(
builder: (_) => const DocumentScreen(),
);
case Screens.profile:
return MaterialWithModalsPageRoute<Widget>(
builder: (_) => const ProfileScreen(),
);
case Screens.details:
return MaterialWithModalsPageRoute<Widget>(
builder: (_) => const DetailsScreen(),
);
case Screens.hospital:
return MaterialWithModalsPageRoute<Widget>(
builder: (_) => const HospitalScreen(),
);
case Screens.profileSettings:
return MaterialWithModalsPageRoute<Widget>(
builder: (_) => const ProfileSettings(),
);
default:
return CupertinoPageRoute<Widget>(
builder: (_) => const NotFoundScreen(),
);
}