ExtendedTabBar class

A material design widget that displays a horizontal row of tabs.

Typically created as the AppBar.bottom part of an AppBar and in conjunction with a TabBarView.

If a TabController is not provided, then a DefaultTabController ancestor must be provided instead. The tab controller's TabController.length must equal the length of the tabs list and the length of the TabBarView.children list.

Requires one of its ancestors to be a Material widget.

Uses values from TabBarTheme if it is set in the current context.

To see a sample implementation, visit the TabController documentation.

See also:

  • TabBarView, which displays page views that correspond to each tab.
Inheritance
Implemented types

Constructors

ExtendedTabBar({Key? key, required List<Widget> tabs, TabController? controller, bool isScrollable = false, Color? indicatorColor, bool automaticIndicatorColorAdjustment = true, double indicatorWeight = 2.0, EdgeInsetsGeometry indicatorPadding = EdgeInsets.zero, Decoration? indicator, TabBarIndicatorSize? indicatorSize, Color? labelColor, TextStyle? labelStyle, EdgeInsetsGeometry? labelPadding, Color? unselectedLabelColor, TextStyle? unselectedLabelStyle, DragStartBehavior dragStartBehavior = DragStartBehavior.start, MaterialStateProperty<Color>? overlayColor, MouseCursor? mouseCursor, bool? enableFeedback, ValueChanged<int>? onTap, ScrollPhysics? physics, Axis scrollDirection = Axis.horizontal, bool foregroundIndicator = false, StrokeCap strokeCap = StrokeCap.square, MainAxisAlignment? mainAxisAlignment})
Creates a material design tab bar.
const

Properties

automaticIndicatorColorAdjustment bool
Whether this tab bar should automatically adjust the indicatorColor.
final
controller TabController?
This widget's selection and animation state.
final
dragStartBehavior DragStartBehavior
Determines the way that drag start behavior is handled.
final
enableFeedback bool?
Whether detected gestures should provide acoustic and/or haptic feedback.
final
foregroundIndicator bool
Whether the indicator is foreground
final
hashCode int
The hash code for this object.
no setterinherited
indicator Decoration?
Defines the appearance of the selected tab indicator.
final
indicatorColor Color?
The color of the line that appears below the selected tab.
final
indicatorPadding EdgeInsetsGeometry
The horizontal padding for the line that appears below the selected tab.
final
indicatorSize TabBarIndicatorSize?
Defines how the selected tab indicator's size is computed.
final
indicatorWeight double
The thickness of the line that appears below the selected tab.
final
isScrollable bool
Whether this tab bar can be scrolled horizontally.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
labelColor Color?
The color of selected tab labels.
final
labelPadding EdgeInsetsGeometry?
The padding added to each of the tab labels.
final
labelStyle TextStyle?
The text style of the selected tab labels.
final
mainAxisAlignment MainAxisAlignment?
The MainAxisAlignment of Tabs if this is not null, we will not add Exapnded for Tab when isScrollable is false
final
mouseCursor MouseCursor?
The cursor for a mouse pointer when it enters or is hovering over the individual tab widgets.
final
onTap ValueChanged<int>?
An optional callback that's called when the TabBar is tapped.
final
overlayColor MaterialStateProperty<Color>?
Defines the ink response focus, hover, and splash colors.
final
physics ScrollPhysics?
How the ExtendedTabBar's scroll view should respond to user input.
final
preferredSize Size
The size this widget would prefer if it were otherwise unconstrained.
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollDirection Axis
The axis along which the tab bar scrolls.
final
strokeCap StrokeCap
Styles to use for line endings.
final
tabHasTextAndIcon bool
Returns whether the TabBar contains a tab with both text and icon.
no setter
tabs List<Widget>
Typically a list of two or more Tab widgets.
final
unselectedLabelColor Color?
The color of unselected tab labels.
final
unselectedLabelStyle TextStyle?
The text style of the unselected tab labels.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → _ExtendedTabBarState
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}) 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