TIF_NGANJUK_E41211358/lib/presentation/views/navigation_bar_screen.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
);
}
}