import 'package:e_surat_bendungan/presentation/controller/controller_navigation_bar_screen.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:persistent_bottom_nav_bar/persistent_bottom_nav_bar.dart'; class NavigationBarScreen extends StatelessWidget { NavigationBarScreen({super.key}); final controller = Get.put(ControllerNavigationBarScreen()); @override Widget build(BuildContext context) { return PersistentTabView( context, controller: controller.tabController, screens: controller.buildScreens(), items: controller.navBarsItems(), handleAndroidBackButtonPress: true, // Default is true. resizeToAvoidBottomInset: true, // This needs to be true if you want to move up the screen on a non-scrollable screen when keyboard appears. Default is true. stateManagement: true, // Default is true. hideNavigationBarWhenKeyboardAppears: true, popBehaviorOnSelectedNavBarItemPress: PopBehavior.all, padding: const EdgeInsets.only(top: 8), backgroundColor: Colors.white, isVisible: true, animationSettings: const NavBarAnimationSettings( navBarItemAnimation: ItemAnimationSettings( // Navigation Bar's items animation properties. duration: Duration(milliseconds: 400), curve: Curves.ease, ), screenTransitionAnimation: ScreenTransitionAnimationSettings( // Screen transition animation on change of selected tab. animateTabTransition: true, duration: Duration(milliseconds: 200), curve: Curves.easeInOut, screenTransitionAnimationType: ScreenTransitionAnimationType.slide, ), ), confineToSafeArea: true, decoration: NavBarDecoration(boxShadow: [ BoxShadow( color: Colors.grey.withOpacity(0.3), spreadRadius: 7, blurRadius: 10, offset: Offset(0, 3), // changes position of shadow ), ]), navBarHeight: kBottomNavigationBarHeight, navBarStyle: NavBarStyle.style12, // Choose the nav bar style with this property ); } }