Image Preload Flutter

PHOTO EMBED

Thu Jul 14 2022 04:59:44 GMT+0000 (Coordinated Universal Time)

Saved by @Samuel1347 #flutter #dart

import 'package:flutter/material.dart';

extension ImagePreloadExtention on Image {
  void preload({
    VoidCallback? onImageLoaded,
    VoidCallback? onError,
  }) {
    image
        .resolve(ImageConfiguration())
        .addListener(ImageStreamListener((ImageInfo info, bool syncCall) {
          onImageLoaded?.call();
        }, onError: (Object exception, StackTrace? stackTrace) {
          onError?.call();
        }));
  }
}

extension PreloadImageProviderExtension on ImageProvider {
  void preload({
    VoidCallback? onImageLoaded,
    VoidCallback? onError,
  }) {
    this
        .resolve(ImageConfiguration())
        .addListener(ImageStreamListener((ImageInfo info, bool syncCall) {
          onImageLoaded?.call();
        }, onError: (Object exception, StackTrace? stackTrace) {
          onError?.call();
        }));
  }
}
content_copyCOPY

# Preload Image ```dart import 'package:flutter/material.dart'; extension ImagePreloadExtention on Image { void preload({ VoidCallback? onImageLoaded, VoidCallback? onError, }) { image .resolve(ImageConfiguration()) .addListener(ImageStreamListener((ImageInfo info, bool syncCall) { onImageLoaded?.call(); }, onError: (Object exception, StackTrace? stackTrace) { onError?.call(); })); } } extension PreloadImageProviderExtension on ImageProvider { void preload({ VoidCallback? onImageLoaded, VoidCallback? onError, }) { this .resolve(ImageConfiguration()) .addListener(ImageStreamListener((ImageInfo info, bool syncCall) { onImageLoaded?.call(); }, onError: (Object exception, StackTrace? stackTrace) { onError?.call(); })); } } ``` Usage ```dart Image.network( imageUrl, )..preload(), ``` ©Copyright 2022