scrollableBottomSheet function
void
scrollableBottomSheet({
- List<
Widget> ? children, - Widget? child,
- bool isDismissible = true,
- EdgeInsets padding = const EdgeInsets.all(20),
- bool expand = false,
- double maxChildSize = 1.0,
- double minChildSize = 0.4,
- VoidCallback? onDismiss,
Implementation
void scrollableBottomSheet({
final List<Widget>? children,
final Widget? child,
final bool isDismissible = true,
final EdgeInsets padding = const EdgeInsets.all(20),
final bool expand = false,
final double maxChildSize = 1.0,
final double minChildSize = 0.4,
final VoidCallback? onDismiss,
}) =>
showModalBottomSheet(
context: navigatorKey.currentContext!,
builder: (final BuildContext context) =>
Container(
padding: padding,
child: DraggableScrollableSheet(
expand: expand,
initialChildSize: minChildSize,
maxChildSize: maxChildSize,
minChildSize: minChildSize,
builder: (final BuildContext _, final ScrollController c) =>
SingleChildScrollView(
controller: c,
child: child ??
Column(
children: children!,
),
),
),
),
backgroundColor: Theme
.of(navigatorKey.currentContext!)
.colorScheme
.surface,
isDismissible: isDismissible,
isScrollControlled: true,
).whenComplete(onDismiss ?? () {});