BaseBottomNavigationBar class

BaseBottomNavigationBar with iOS 26 Liquid Glass Dynamic Material and Material 3 support

Features iOS 26 Liquid Glass Dynamic Material with:

  • Transparency with optical clarity zones for navigation bars
  • Environmental reflections and adaptive opacity
  • Dynamic interaction states with real-time responsiveness
  • Unified design language across platforms
  • Enhanced haptic feedback for navigation actions

Material 3 Integration:

  • NavigationBar with Material 3 design tokens
  • Semantic ColorScheme usage with adaptive colors
  • Modern elevation system with surface tinting
  • Enhanced accessibility with semantic navigation

Cross-platform support:

  • CupertinoTabBar with Liquid Glass enhancement by cupertino
  • Material 3 NavigationBar and BottomNavigationBar by material

Enhanced: 2024.01.20 with iOS 26 Liquid Glass Dynamic Material

Inheritance

Constructors

BaseBottomNavigationBar({Key? key, required List<BottomNavigationBarItem> items, required ValueChanged<int>? onTap, int currentIndex = 0, bool enableLiquidGlass = true, double glassOpacity = 0.85, double reflectionIntensity = 0.6, bool adaptiveInteraction = true, bool hapticFeedback = true, bool useMaterial3Navigation = true, BottomNavigationBarType? type, Color? backgroundColor, Color? selectedItemColor, Color? unselectedItemColor, double selectedFontSize = 14.0, double unselectedFontSize = 12.0, double iconSize = 24.0, double? elevation, bool showSelectedLabels = true, bool showUnselectedLabels = true, MouseCursor? mouseCursor, bool? enableFeedback, BottomNavigationBarLandscapeLayout? landscapeLayout, bool useLegacyColorScheme = false, Color? activeColor, Color? inactiveColor, Border? border, double height = 50.0, bool resizeToAvoidBottomInset = true, BaseParam? baseParam})
const

Properties

activeColor → Color?
The foreground color of the icon and title for the CupertinoTabBar's selected tab
final
adaptiveInteraction → bool
Enable adaptive interaction with real-time responsiveness Provides context-aware visual and haptic feedback for navigation actions
final
backgroundColor → Color?
The color of the BottomNavigationBar itself
final
baseParam → BaseParam?
Personalization parameters, gets platform parameters first, then mode parameters
finalinherited
border → Border?
The border of the CupertinoTabBar
final
currentIndex → int
The index into items for the current active item
final
elevation → double?
The z-coordinate of this BottomNavigationBar
final
enableFeedback → bool?
Whether detected gestures should provide acoustic and/or haptic feedback
final
enableLiquidGlass → bool
*** iOS 26 Liquid Glass Dynamic Material properties start *** Enable Liquid Glass Dynamic Material optical effects for navigation bars Provides transparency, reflections, and adaptive visual states
final
glassOpacity → double
Glass transparency level for environmental awareness Creates optical clarity while maintaining navigation visibility (0.0 to 1.0)
final
hapticFeedback → bool
Enable haptic feedback for enhanced navigation experience Provides appropriate haptic responses for tab switches and interactions
final
hashCode → int
The hash code for this object.
no setterinherited
height → double
The height of the CupertinoTabBar
final
iconSize → double
The size of all of the BottomNavigationBarItem icons
final
inactiveColor → Color?
The foreground color of the icon and title for the CupertinoTabBar's unselected tabs
final
items → List<BottomNavigationBarItem>
The interactive items laid out within the bottom navigation bar
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
landscapeLayout → BottomNavigationBarLandscapeLayout?
Defines the layout of the BottomNavigationBar when Orientation.landscape
final
mouseCursor → MouseCursor?
The cursor for a mouse pointer when it enters or is hovering over the widget
final
onTap → ValueChanged<int>?
Called when one of the items is tapped
final
reflectionIntensity → double
Reflection intensity for environmental responsiveness Simulates real-world glass reflection behavior (0.0 to 1.0)
final
resizeToAvoidBottomInset → bool
Whether the body should resize when the keyboard appears
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selectedFontSize → double
The font size of the BottomNavigationBarItem labels when they are selected
final
selectedItemColor → Color?
The color of the selected BottomNavigationBarItem.icon and BottomNavigationBarItem.label
final
showSelectedLabels → bool
Whether the labels are shown for the selected BottomNavigationBarItem
final
showUnselectedLabels → bool
Whether the labels are shown for the unselected BottomNavigationBarItem
final
type → BottomNavigationBarType?
*** iOS 26 Liquid Glass Dynamic Material properties end *** Defines the layout and behavior of a BottomNavigationBar
final
unselectedFontSize → double
The font size of the BottomNavigationBarItem labels when they are not selected
final
unselectedItemColor → Color?
The color of the unselected BottomNavigationBarItem.icon and BottomNavigationBarItem.label
final
useLegacyColorScheme → bool
Whether the BottomNavigationBar should use the legacy color scheme
final
useMaterial3Navigation → bool
Use Material 3 NavigationBar instead of legacy BottomNavigationBar Provides modern Material Design 3 navigation patterns and tokens
final

Methods

beforeBuild(BuildContext context) → void
Called before build
inherited
beforeBuildByCupertino(BuildContext context) → void
Called before buildByCupertino
inherited
beforeBuildByCupertinoNative(BuildContext context) → void
Called before buildByCupertinoNative (native iOS implementation)
inherited
beforeBuildByMaterial(BuildContext context) → void
Called before buildByMaterial
inherited
build(BuildContext context) → Widget
Describes the part of the user interface represented by this widget.
inherited
buildByCupertino(BuildContext context) → Widget
build on cupertino mode (Flutter implementation)
buildByCupertinoNative(BuildContext context) → dynamic
build on cupertino mode with native iOS components (cupertino_native package) This is called when baseParam.nativeIOS = true Default implementation falls back to buildByCupertino()
inherited
buildByMaterial(BuildContext context) → Widget
build on material mode
commonBuild(BuildContext context, BaseParam? baseParam) → dynamic
inherited
createElement() → StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
getBuildMode(BaseParam? baseParam) → WidgetBuildMode
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited
valueOf(String key, dynamic value) → dynamic
inherited
valueOfBaseParam(BaseParam? baseParam, String key, dynamic value) → dynamic
No reflection available in Dart First get value from platform, then from mode, finally from value itself
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited