showAppBottomSheet<T> function
Implementation
Future<T?> showAppBottomSheet<T>({
required BuildContext context,
double initialChildSize = 0.7,
double minChildSize = 0.5,
double maxChildSize = 0.9,
required String title,
required Widget child,
}) {
return showModalBottomSheet(
isScrollControlled: true,
context: context,
backgroundColor: Colors.transparent,
builder: (context) {
return Padding(
padding: EdgeInsets.only(
bottom: MediaQuery.of(context).viewInsets.bottom,
),
child: DissmisibleModalWidget(
child: DraggableScrollableSheet(
initialChildSize: initialChildSize,
minChildSize: minChildSize,
maxChildSize: maxChildSize,
builder: (context, scrollController) {
return InputKeyboardUnfocusableWidget(
child: Container(
decoration: const BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(16),
topRight: Radius.circular(16),
),
),
child: ListView(
controller: scrollController,
children: [
Padding(
padding: const EdgeInsets.all(16),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
title,
style: Theme.of(context).textTheme.displayMedium,
),
IconButton(
iconSize: 28,
onPressed: Get.back,
icon: const Icon(CupertinoIcons.xmark),
),
],
),
),
const Divider(),
child,
],
),
),
);
},
),
),
);
},
);
}