56 lines
2.1 KiB
Dart
56 lines
2.1 KiB
Dart
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
|
|
);
|
|
}
|
|
}
|