showAttachDialog method
void
showAttachDialog()
Implementation
void showAttachDialog() {
var alert = Align(
alignment: Alignment.bottomCenter,
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 3, sigmaY: 3),
child: Padding(
padding: const EdgeInsets.all(8),
child: Container(
width: MediaQuery.of(context).size.width / 1.2,
margin: const EdgeInsets.only(bottom: 30, left: 12, right: 12),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
),
child: Material(
color: Colors.transparent,
borderRadius: BorderRadius.circular(10),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Align(
alignment: Alignment.topRight,
child: IconButton(
icon: const Icon(Icons.clear),
onPressed: () => Navigator.pop(context),
),
),
dialogTile(
text: AppStorages.languageKey!["send_attachment"]!,
fontWeight: FontWeight.bold,
fontSize: 18),
saperator(),
dialogTile(
text: AppStorages.languageKey!["gallery"]!,
callback: () {
pickMedia(false, false, false);
}),
saperator(),
dialogTile(
text: AppStorages.languageKey!["camera"]!,
callback: () {
pickMedia(true, false, false);
}),
saperator(),
dialogTile(
text: AppStorages.languageKey!["document"]!,
callback: () {
pickMedia(false, true, false);
}),
saperator(),
dialogTile(
text: AppStorages.languageKey!["audio"]!,
callback: () {
pickMedia(false, false, true);
}),
],
),
),
),
),
),
);
showGeneralDialog(
barrierLabel: AppStorages.languageKey!["label"]!,
barrierDismissible: true,
barrierColor: Colors.black.withOpacity(0.5),
transitionDuration: const Duration(milliseconds: 400),
context: context,
pageBuilder: (context, anim1, anim2) {
return alert;
},
transitionBuilder: (context, anim1, anim2, child) {
return SlideTransition(
position: Tween(begin: const Offset(0, 1), end: const Offset(0, 0))
.animate(anim1),
child: child,
);
},
);
}