Image Preload Flutter
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
Comments