NavigationRailPlus constructor
const
NavigationRailPlus({
- Key? key,
- GlobalKey<
ScaffoldState> ? externalScaffoldKey, - int? selectedIndex = 0,
- Widget? responsiveBody,
- ValueChanged<
int> ? onDestinationSelected, - PreferredSizeWidget? appBar,
- String? appBarText,
- List<
Widget> ? appBarActions, - TextStyle? appBarTextStyle,
- Widget? appBarBackButton,
- double? appBarTitleSpacing,
- VoidCallback? appBarBackButtonTap,
- Color? appBarBackgroundColor,
- RxBool? appBarBottomRxLoading,
- Color? appBarBackButtonColor,
- bool appBarCenterTitle = false,
- bool? appBarBottomLoading = false,
- bool? appBarBottomDivider = false,
- bool needOverlayStyle = true,
- bool extendBodyBehindAppBar = false,
- bool? appBarForceMaterialTransparency,
- Widget? bottomSheet,
- double? bottomSheetPaddingBottom,
- Widget bottomSheetLoadingBuilder(
- BuildContext context
- Color? bottomSheetBackgroundColor,
- bool bottomSheetNeedFullWidth = true,
- double? bottomSheetMaxWidth,
- double? appBarMaxWidth,
- double? bodyMaxWidth,
- EdgeInsetsGeometry? padding,
- Color? backgroundColor,
- Color? underneathBackgroundColor,
- Widget? floatingActionButton,
- FloatingActionButtonLocation? floatingActionButtonLocation,
- bool isDrawerSafeAreaBottom = true,
- bool isDrawerSafeAreaTop = true,
- bool isEndDrawerSafeAreaBottom = true,
- bool isEndDrawerSafeAreaTop = true,
- bool isSafeAreaTop = false,
- bool isSafeAreaBottom = true,
- Widget? endDrawerContent,
- Function? onRefresh,
- bool canPop = true,
- void onPopInvokedWithResult()?,
- bool resizeToAvoidBottomInset = true,
Implementation
const NavigationRailPlus({
super.key,
required this.navigationLeadingConfig,
this.externalScaffoldKey,
this.selectedIndex = 0,
this.responsiveBody,
this.navigationHeaderConfig,
this.navigationGlobalConfig,
this.navigationMainContent,
this.navigationFooterConfig,
this.onDestinationSelected,
///----------------------------------------------------
/// Scaffold data/variable section
///----------------------------------------------------
// App bar related
this.appBar,
this.appBarText,
this.appBarActions,
this.appBarTextStyle,
this.appBarBackButton,
this.appBarTitleSpacing,
this.appBarBackButtonTap,
this.appBarBackgroundColor,
this.appBarBottomRxLoading,
this.appBarBackButtonColor,
this.appBarCenterTitle = false,
this.appBarBottomLoading = false,
this.appBarBottomDivider = false,
this.needOverlayStyle = true,
this.extendBodyBehindAppBar = false,
this.appBarForceMaterialTransparency,
// Bottom sheet related
this.bottomSheet,
this.bottomSheetPaddingBottom,
this.bottomSheetLoadingBuilder,
this.bottomSheetBackgroundColor,
this.bottomSheetNeedFullWidth = true,
this.bottomSheetMaxWidth,
this.appBarMaxWidth,
// Builders for dynamic UI states
this.bodyMaxWidth,
// Scaffold related
this.padding,
this.backgroundColor,
this.bottomNavigationBar,
this.underneathBackgroundColor,
// Floating action button related
this.floatingActionButton,
this.floatingActionButtonLocation,
// SafeArea related
this.isDrawerSafeAreaBottom = true,
this.isDrawerSafeAreaTop = true,
this.isEndDrawerSafeAreaBottom = true,
this.isEndDrawerSafeAreaTop = true,
this.isSafeAreaTop = false,
this.isSafeAreaBottom = true,
// End Drawer related
this.endDrawerContent,
// Refresh related
this.onRefresh,
// Pop scop related
this.canPop = true,
this.onPopInvokedWithResult,
this.resizeToAvoidBottomInset = true,
});