Tabs class

A horizontal tab bar for switching between views.

The Tabs widget displays a row of tab buttons. The index property controls which tab is currently selected. Use onChanged to receive notifications when the user selects a different tab.

Each TabItem can have an optional icon displayed alongside its label. Disabled tabs via TabItem.enabled are not clickable.

Example:

Tabs(
  tabs: [
    TabItem(label: 'Overview'),
    TabItem(label: 'Settings', icon: Icon('⚙')),
  ],
  index: _selectedTab,
  onChanged: (i) => setState(() => _selectedTab = i),
)
Inheritance

Constructors

Tabs({required List<TabItem> tabs, required int index, ValueCmdCallback<int>? onChanged, int gap = 1, ButtonSize size = ButtonSize.small, Key? key})

Properties

accessibilityLabel String?
Optional accessibility label.
no setterinherited
accessibilityRole String
Optional accessibility role.
no setterinherited
children List<Widget>
Child widgets that receive forwarded messages.
no setterinherited
debugRenderObjectPassthrough bool
Whether this widget is intentionally transparent to render-object layouts.
no setterinherited
degradationSignal WidgetDegradationSignal
Signal that controls this widget's render budget behavior.
no setterinherited
focusable bool
Whether this widget can receive keyboard focus.
no setterinherited
gap int
final
hashCode int
The hash code for this object.
no setterinherited
id String
Unique identifier for this widget.
no setterinherited
index int
final
key Key?
Key for preserving widget identity.
finalinherited
onChanged ValueCmdCallback<int>?
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
size ButtonSize
final
tabs List<TabItem>
final
theme Theme
Access the current theme.
no setterinherited

Methods

build(BuildContext context) Widget
Describes the part of the UI represented by this widget.
override
buildCachedView<T>(T builder(), Object? cacheKey) → T
Returns a cached view if the cache key matches.
inherited
handleInit() Cmd?
Override this instead of init for widget-specific initialization.
inherited
handleIntercept(Msg msg) → (Widget, Cmd?)
Override this to handle messages before they reach children.
inherited
handleUpdate(Msg msg) → (Widget, Cmd?)
Override this to handle messages specific to this widget.
inherited
init() Cmd?
Called once when the widget is first mounted.
inherited
invalidateCachedView() → void
Clears any cached view for this widget.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
shouldRenderAt(DegradationLevel degradationLevel, {required bool subtreeHasFocusedWidget}) bool
Whether this widget should participate in the current render when degradationLevel is active.
inherited
toString() String
A string representation of this object.
inherited
update(Msg msg) → (Model, Cmd?)
Handles messages by forwarding to children then calling handleUpdate.
inherited
view() Object
Renders the widget to a string or View.
inherited

Operators

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