TabBar constructor

const TabBar(
  1. {Key? key,
  2. required List<Widget> tabs,
  3. TabController? controller,
  4. bool isScrollable = false,
  5. EdgeInsetsGeometry? padding,
  6. Color? indicatorColor,
  7. bool automaticIndicatorColorAdjustment = true,
  8. double indicatorWeight = 2.0,
  9. EdgeInsetsGeometry indicatorPadding = EdgeInsets.zero,
  10. Decoration? indicator,
  11. TabBarIndicatorSize? indicatorSize,
  12. Color? dividerColor,
  13. double? dividerHeight,
  14. Color? labelColor,
  15. TextStyle? labelStyle,
  16. EdgeInsetsGeometry? labelPadding,
  17. Color? unselectedLabelColor,
  18. TextStyle? unselectedLabelStyle,
  19. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  20. MaterialStateProperty<Color?>? overlayColor,
  21. MouseCursor? mouseCursor,
  22. bool? enableFeedback,
  23. ValueChanged<int>? onTap,
  24. ScrollPhysics? physics,
  25. InteractiveInkFeatureFactory? splashFactory,
  26. BorderRadius? splashBorderRadius,
  27. TabAlignment? tabAlignment}
)

Creates a Material Design primary tab bar.

The length of the tabs argument must match the controller's TabController.length.

If a TabController is not provided, then there must be a DefaultTabController ancestor.

The indicatorWeight parameter defaults to 2.

The indicatorPadding parameter defaults to EdgeInsets.zero.

If indicator is not null or provided from TabBarTheme, then indicatorWeight and indicatorColor are ignored.

Implementation

const TabBar({
  super.key,
  required this.tabs,
  this.controller,
  this.isScrollable = false,
  this.padding,
  this.indicatorColor,
  this.automaticIndicatorColorAdjustment = true,
  this.indicatorWeight = 2.0,
  this.indicatorPadding = EdgeInsets.zero,
  this.indicator,
  this.indicatorSize,
  this.dividerColor,
  this.dividerHeight,
  this.labelColor,
  this.labelStyle,
  this.labelPadding,
  this.unselectedLabelColor,
  this.unselectedLabelStyle,
  this.dragStartBehavior = DragStartBehavior.start,
  this.overlayColor,
  this.mouseCursor,
  this.enableFeedback,
  this.onTap,
  this.physics,
  this.splashFactory,
  this.splashBorderRadius,
  this.tabAlignment,
}) : _isPrimary = true,
     assert(indicator != null || (indicatorWeight > 0.0));