ZetaTabBar constructor

ZetaTabBar({
  1. required BuildContext context,
  2. required List<ZetaTab> tabs,
  3. TabAlignment tabAlignment = TabAlignment.center,
  4. bool isScrollable = false,
  5. bool? enableFeedback,
  6. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  7. EdgeInsetsGeometry? padding,
  8. ValueChanged<int>? onTap,
  9. Key? key,
})

Creates a Zeta Design primary tab bar.

Implementation

ZetaTabBar({
  required BuildContext context,
  required List<ZetaTab> super.tabs,
  TabAlignment super.tabAlignment = TabAlignment.center,
  super.isScrollable,
  super.enableFeedback,
  super.dragStartBehavior,
  super.padding,
  super.onTap,
  super.key,
}) : super(
        indicatorSize: isScrollable ? TabBarIndicatorSize.label : TabBarIndicatorSize.tab,
        labelPadding: isScrollable ? null : EdgeInsets.zero,
        indicator: UnderlineTabIndicator(
          borderSide: BorderSide(
            color: Zeta.of(context).colors.mainPrimary,
            width: onTap != null ? Zeta.of(context).spacing.minimum : Zeta.of(context).spacing.none,
          ),
          borderRadius: BorderRadius.all(Zeta.of(context).radius.none),
        ),
        splashFactory: null,
        labelStyle: ZetaTextStyles.labelLarge.copyWith(
          color: onTap != null ? Zeta.of(context).colors.mainDefault : Zeta.of(context).colors.mainDisabled,
        ),
        unselectedLabelStyle: ZetaTextStyles.labelLarge.copyWith(
          color: onTap != null ? Zeta.of(context).colors.mainSubtle : Zeta.of(context).colors.mainDisabled,
        ),
        dividerColor: Colors.transparent,
      );