TabBarSearchableLayout constructor

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

Implementation

const TabBarSearchableLayout({
  required this.tabs,
  required this.selectedIndex,
  required this.onTabSelected,
  required this.searchConfig,
  super.key,
  this.controller,
  this.isSearchActive = false,
  this.extraButton,
  this.spacing = 8,
  this.horizontalPadding = 20,
  this.verticalPadding = 20,
  this.barHeight = 64,
  this.searchBarHeight = 50,
  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.interactionGlowColor,
  this.interactionGlowRadius = 1.5,
  this.quality,
  this.magnification = 1.15,
  this.innerBlur = 0.0,
  this.platformViewBackdrop = false,
  this.maskingQuality = MaskingQuality.high,
  this.backgroundKey,
  this.springDescription,
  this.tabPillAnchor = GlassTabPillAnchor.start,
  this.interactionBehavior = GlassInteractionBehavior.full,
  this.pressScale = 1.04,
  this.tabWidth,
  this.indicatorBorderRadius,
  this.indicatorExpansion =
      const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
  this.onBarTap,
  this.whitenAtBottom = true,
  this.whitenBottomThreshold = 45.0,
  this.whitenAtBottomTarget = 1.0,
  this.scrollController,
  this.adaptiveBrightness = false,
  this.onBrightnessChanged,
  this.brightnessOverride,
});