showImagePreview<T> function

Future<T?> showImagePreview<T>({
  1. required BuildContext context,
  2. required List<Widget> images,
  3. int? startPosition,
  4. bool showIndex = true,
  5. bool? showIndicators = false,
  6. Duration? swipeDuration,
  7. bool closeable = false,
  8. IconData? closeIcon,
  9. String closeIconPosition = 'top-right',
  10. dynamic onChange(
    1. int val
    )?,
  11. dynamic onClose(
    1. int index
    )?,
})

Implementation

Future<T?> showImagePreview<T>(
    {required BuildContext context,
    required List<Widget> images,
    int? startPosition,
    bool showIndex: true,
    bool? showIndicators: false,
    Duration? swipeDuration,
    bool closeable: false,
    IconData? closeIcon,
    String closeIconPosition: 'top-right',
    Function(int val)? onChange,
    Function(int index)? onClose}) {
  return showDialog(
      context: context,
      barrierDismissible: !closeable,
      barrierColor: Colors.black87,
      builder: (BuildContext context) {
        return WillPopScope(
            onWillPop: () => Future.value(!closeable),
            child: ImagePreview(
              images: images,
              showIndex: showIndex,
              startPosition: startPosition,
              showIndicators: showIndicators,
              swipeDuration: swipeDuration,
              closeable: closeable,
              closeIcon: closeIcon,
              closeIconPosition: closeIconPosition,
              onChange: onChange,
              onClose: onClose,
            ));
      });
}