UIProBottomNav class

A theme-aware bottom navigation bar with animated selection indicator.

UIProBottomNav automatically adapts to theme changes and provides a modern navigation experience with smooth animations.

Example:

UIProBottomNav(
  items: [
    UIProBottomNavItem(icon: Icons.home, label: "Home"),
    UIProBottomNavItem(icon: Icons.search, label: "Search"),
    UIProBottomNavItem(icon: Icons.person, label: "Profile"),
  ],
  currentIndex: selectedIndex,
  onChanged: (index) => setState(() => selectedIndex = index),
)
Inheritance

Constructors

UIProBottomNav({Key? key, required List<UIProBottomNavItem> items, required int currentIndex, required ValueChanged<int> onChanged, Color? backgroundColor, Color? selectedColor, Color? unselectedColor, double? elevation, double? iconSize, bool? showLabels, TextStyle? labelStyle, UIProBottomNavType type = UIProBottomNavType.standard, double? indicatorHeight, Color? indicatorColor, double indicatorWidth = 4, bool enableHapticFeedback = true})
Creates a theme-aware bottom navigation bar.
const
UIProBottomNav.floating({Key? key, required List<UIProBottomNavItem> items, required int currentIndex, required ValueChanged<int> onChanged, Color? backgroundColor, Color? selectedColor, Color? unselectedColor, double? iconSize, bool? showLabels = false, TextStyle? labelStyle, double? indicatorHeight, Color? indicatorColor, double indicatorWidth = 4, bool enableHapticFeedback = true})
Creates a floating bottom navigation bar.
const

Properties

backgroundColor Color?
Background color (overrides theme).
final
currentIndex int
Currently selected index.
final
elevation double?
Elevation (overrides theme).
final
enableHapticFeedback bool
Whether to use haptic feedback.
final
hashCode int
The hash code for this object.
no setterinherited
iconSize double?
Icon size (overrides theme).
final
indicatorColor Color?
Indicator color.
final
indicatorHeight double?
Indicator height (overrides theme).
final
indicatorWidth double
Indicator width (for dot type).
final
items List<UIProBottomNavItem>
Navigation items.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
labelStyle TextStyle?
Label text style.
final
onChanged ValueChanged<int>
Called when an item is tapped.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedColor Color?
Selected item color (overrides theme).
final
showLabels bool?
Whether to show labels (overrides theme).
final
type UIProBottomNavType
Navigation bar type.
final
unselectedColor Color?
Unselected item color (overrides theme).
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
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
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

Operators

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