ToggleSheet constructor

const ToggleSheet({
  1. required ToggleSheetController scrollController,
  2. ScrollPhysics? physics,
  3. HitTestBehavior? hitTestBehavior = HitTestBehavior.opaque,
  4. ToggleSheetStart startConfig = ToggleSheetStart.animate,
  5. ToggleSheetDelegate<ShapeBorder?>? shapeBorderDelegate,
  6. ToggleSheetDelegate<EdgeInsets?>? paddingDelegate,
  7. bool shouldPop(
    1. ToggleSheetController
    )?,
  8. Widget? outside,
  9. double? topHeaderOffset,
  10. Widget? topHeader,
  11. Widget? dragger = const DraggerContainer(),
  12. Widget? header,
  13. Widget? sliver,
  14. List<Widget>? content,
  15. EdgeInsets? contentPadding,
  16. Widget? footer,
  17. bool footerInsideHeaderLayer = false,
  18. Color? safeAreaColor,
  19. Color? backgroundColor,
  20. ToggleSheetDelegate<Color?>? barrierColorDelegate,
  21. ToggleSheetDelegate<double>? outsideOpacityDelegate,
  22. bool drawOutsideWidgetBehindBackground = false,
  23. bool offsetOutsideWidgetByTopheader = true,
  24. bool resizeToAvoidBottomPadding = true,
  25. bool useSafeArea = true,
  26. Key? key,
})

Creates a ToggleSheet widget.

The ToggleSheet widget provides a customizable sheet that can be toggled open or closed. Use this constructor to configure its appearance and behavior.

Note: It is recommended not to use ToggleSheet inside a SafeArea widget, as it manages its own padding and will remove any inherited paddings to ensure proper layout. Instead, you can use the useSafeArea property to control whether the sheet respects safe area insets.

Implementation

const ToggleSheet({
  required this.scrollController,
  this.physics,
  this.hitTestBehavior = HitTestBehavior.opaque,
  this.startConfig = ToggleSheetStart.animate,
  this.shapeBorderDelegate,
  this.paddingDelegate,
  this.shouldPop,
  this.outside,
  this.topHeaderOffset,
  this.topHeader,
  this.dragger = const DraggerContainer(),
  this.header,
  this.sliver,
  this.content,
  this.contentPadding,
  this.footer,
  this.footerInsideHeaderLayer = false,
  this.safeAreaColor,
  this.backgroundColor,
  this.barrierColorDelegate,
  this.outsideOpacityDelegate,
  this.drawOutsideWidgetBehindBackground = false,
  this.offsetOutsideWidgetByTopheader = true,
  this.resizeToAvoidBottomPadding = true,
  this.useSafeArea = true,
  super.key,
});