TabBarBottomLayout constructor

const TabBarBottomLayout({
  1. required List<GlassBottomBarTab> tabs,
  2. required int selectedIndex,
  3. required ValueChanged<int> onTabSelected,
  4. Key? key,
  5. GlassTabBarExtraButton? extraButton,
  6. double spacing = 8,
  7. double horizontalPadding = 20,
  8. double verticalPadding = 20,
  9. double barHeight = 64,
  10. double barBorderRadius = _kDefaultBorderRadius,
  11. EdgeInsetsGeometry tabPadding = const EdgeInsets.symmetric(horizontal: 4),
  12. double iconLabelSpacing = 4,
  13. bool enableBlend = true,
  14. double blendAmount = 10,
  15. LiquidGlassSettings? settings,
  16. bool showIndicator = true,
  17. Color? indicatorColor,
  18. LiquidGlassSettings? indicatorSettings,
  19. double indicatorPinchStrength = 0.4,
  20. Color? selectedIconColor,
  21. Color? unselectedIconColor,
  22. Color? selectedLabelColor,
  23. Color? unselectedLabelColor,
  24. TextStyle? selectedLabelStyle,
  25. TextStyle? unselectedLabelStyle,
  26. double iconSize = 24,
  27. double labelFontSize = 11,
  28. TextStyle? textStyle,
  29. Duration glowDuration = const Duration(milliseconds: 300),
  30. double glowBlurRadius = 32,
  31. double glowSpreadRadius = 8,
  32. double glowOpacity = 0.6,
  33. GlassQuality? quality,
  34. double magnification = 1.15,
  35. double innerBlur = 0.0,
  36. MaskingQuality maskingQuality = MaskingQuality.high,
  37. GlobalKey<State<StatefulWidget>>? backgroundKey,
  38. double? tabWidth,
  39. double? indicatorBorderRadius,
  40. EdgeInsetsGeometry indicatorExpansion = const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
  41. Color? interactionGlowColor,
  42. double interactionGlowRadius = 1.5,
  43. GlassInteractionBehavior interactionBehavior = GlassInteractionBehavior.full,
  44. double pressScale = 1.04,
  45. bool platformViewBackdrop = false,
  46. bool adaptiveBrightness = false,
  47. ValueChanged<Brightness>? onBrightnessChanged,
  48. ValueListenable<Brightness>? brightnessOverride,
})

Implementation

const TabBarBottomLayout({
  required this.tabs,
  required this.selectedIndex,
  required this.onTabSelected,
  super.key,
  this.extraButton,
  this.spacing = 8,
  this.horizontalPadding = 20,
  this.verticalPadding = 20,
  this.barHeight = 64,
  this.barBorderRadius = _kDefaultBorderRadius,
  this.tabPadding = const EdgeInsets.symmetric(horizontal: 4),
  this.iconLabelSpacing = 4,
  this.enableBlend = true,
  this.blendAmount = 10,
  this.settings,
  this.showIndicator = true,
  this.indicatorColor,
  this.indicatorSettings,
  this.indicatorPinchStrength = 0.4,
  this.selectedIconColor,
  this.unselectedIconColor,
  this.selectedLabelColor,
  this.unselectedLabelColor,
  this.selectedLabelStyle,
  this.unselectedLabelStyle,
  this.iconSize = 24,
  this.labelFontSize = 11,
  this.textStyle,
  this.glowDuration = const Duration(milliseconds: 300),
  this.glowBlurRadius = 32,
  this.glowSpreadRadius = 8,
  this.glowOpacity = 0.6,
  this.quality,
  this.magnification = 1.15,
  this.innerBlur = 0.0,
  this.maskingQuality = MaskingQuality.high,
  this.backgroundKey,
  this.tabWidth,
  this.indicatorBorderRadius,
  this.indicatorExpansion =
      const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
  this.interactionGlowColor,
  this.interactionGlowRadius = 1.5,
  this.interactionBehavior = GlassInteractionBehavior.full,
  this.pressScale = 1.04,
  this.platformViewBackdrop = false,
  this.adaptiveBrightness = false,
  this.onBrightnessChanged,
  this.brightnessOverride,
});