CNTabBar class

A Cupertino-native tab bar. Uses native UITabBar/NSTabView style visuals.

Inheritance

Constructors

CNTabBar({Key? key, required List<CNTabBarItem> items, required int currentIndex, required ValueChanged<int> onTap, Color? tint, Color? backgroundColor, double? iconSize, double? height, bool split = false, int rightCount = 1, bool shrinkCentered = true, double splitSpacing = 8.0, Widget? leadingAccessory, Widget? trailingAccessory, bool showSearchField = false, String? searchPlaceholder, ValueChanged<String>? onSearchChanged, ValueChanged<String>? onSearchSubmitted})
Creates a Cupertino-native tab bar.
const
CNTabBar.search({Key? key, required List<CNTabBarItem> items, required int currentIndex, required ValueChanged<int> onTap, required CNSearchConfig? searchConfig, int? searchIndex, Color? tint, Color? backgroundColor, double? iconSize, double? height, bool split = false, int rightCount = 0, bool shrinkCentered = false, double splitSpacing = 8.0})
Creates a tab bar with integrated search functionality.
const

Properties

backgroundColor Color?
Background color for the bar.
final
currentIndex int
The index of the currently selected item.
final
hashCode int
The hash code for this object.
no setterinherited
height double?
Fixed height; if null uses intrinsic height reported by native view.
final
iconSize double?
Default icon size when item icon does not specify one.
final
items List<CNTabBarItem>
Items to display in the tab bar. For search-enabled tab bar, search tab is added automatically.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
leadingAccessory Widget?
Optional leading accessory (button or control) to display before tabs. Typically used for menu buttons, filters, or navigation controls.
final
onSearchChanged ValueChanged<String>?
Called when the search text changes.
final
onSearchSubmitted ValueChanged<String>?
Called when the user submits the search (e.g., taps return key).
final
onTap ValueChanged<int>
Called when the user selects a new item.
final
rightCount int
How many trailing items to pin right when split is true.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
searchConfig CNSearchConfig?
Search configuration (only for search-enabled tab bar).
final
searchIndex int?
Index where search tab should be placed. If null, adds to the end.
final
searchPlaceholder String?
Placeholder text for the search field. Defaults to "Search" if not specified.
final
showSearchField bool
When true, displays a search field in the tab bar. The search field can be positioned inline with tabs or as a separate row.
final
shrinkCentered bool
When true, centers the split groups more tightly.
final
split bool
When true, splits items between left and right sections.
final
splitSpacing double
Gap between left/right halves when split.
final
tint Color?
Accent/tint color.
final
trailingAccessory Widget?
Optional trailing accessory (button or control) to display after tabs. Typically used for compose, add, or action buttons.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<CNTabBar>
Creates the mutable state for this widget at a given location in the tree.
override
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