showImagePreviewDialog function
Implementation
void showImagePreviewDialog(BuildContext context, String path) {
showDialog(
context: context,
builder: (context) => Dialog(
backgroundColor: Colors.transparent,
insetPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 24),
child: Container(
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
color: Colors.black,
borderRadius: BorderRadius.circular(16),
),
clipBehavior: Clip.antiAlias,
child: Stack(
alignment: Alignment.center,
children: [
InteractiveViewer(
child: Image.file(File(path), fit: BoxFit.contain),
),
Positioned(
top: 8,
right: 8,
child: Container(
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.black.withValues(alpha: 0.5),
),
child: IconButton(
icon: const Icon(Icons.close, color: Colors.white),
onPressed: () => Navigator.of(context).pop(),
),
),
),
],
),
),
),
);
}