FDialog.adaptive constructor
FDialog.adaptive({
- required Widget horizontalBuilder(
- BuildContext context,
- FDialogStyle style
- required Widget verticalBuilder(
- BuildContext context,
- FDialogStyle style
- FDialogStyleDelta style = const .context(),
- Clip clipBehavior = .none,
- Animation<
double> ? animation, - String? semanticsLabel,
- BoxConstraints constraints = const BoxConstraints(minWidth: 280, maxWidth: 560),
- bool resizeToAvoidInsets = true,
- Key? key,
Creates an adaptive FDialog that uses verticalBuilder on FBreakpoints.sm devices and horizontalBuilder on
larger devices.
CLI
To generate a layout for this widget:
dart run forui snippet create adaptive-card
See https://forui.dev/docs/widgets/data/card for other generatable layouts.
Implementation
FDialog.adaptive({
required Widget Function(BuildContext context, FDialogStyle style) horizontalBuilder,
required Widget Function(BuildContext context, FDialogStyle style) verticalBuilder,
this.style = const .context(),
this.clipBehavior = .none,
this.animation,
this.semanticsLabel,
this.constraints = const BoxConstraints(minWidth: 280, maxWidth: 560),
this.resizeToAvoidInsets = true,
super.key,
}) : builder = ((context, style) => switch (MediaQuery.sizeOf(context).width) {
final width when width < context.theme.breakpoints.sm => verticalBuilder(context, style),
_ => horizontalBuilder(context, style),
});