FadeInImage.memoryNetwork constructor Null safety

FadeInImage.memoryNetwork(
  1. {Key? key,
  2. required Uint8List placeholder,
  3. ImageErrorWidgetBuilder? placeholderErrorBuilder,
  4. required String image,
  5. ImageErrorWidgetBuilder? imageErrorBuilder,
  6. double placeholderScale = 1.0,
  7. double imageScale = 1.0,
  8. bool excludeFromSemantics,
  9. String? imageSemanticLabel,
  10. Duration fadeOutDuration,
  11. Curve fadeOutCurve,
  12. Duration fadeInDuration,
  13. Curve fadeInCurve,
  14. double? width,
  15. double? height,
  16. BoxFit? fit,
  17. AlignmentGeometry alignment,
  18. ImageRepeat repeat,
  19. bool matchTextDirection,
  20. int? placeholderCacheWidth,
  21. int? placeholderCacheHeight,
  22. int? imageCacheWidth,
  23. int? imageCacheHeight}
)

Creates a widget that uses a placeholder image stored in memory while loading the final image from the network.

The placeholder argument contains the bytes of the in-memory image.

The image argument is the URL of the final image.

The placeholderScale and imageScale arguments are passed to their respective ImageProviders (see also ImageInfo.scale).

If placeholderCacheWidth, placeholderCacheHeight, imageCacheWidth, or imageCacheHeight are provided, it indicates to the engine that the respective image should be decoded at the specified size. The image will be rendered to the constraints of the layout or width and height regardless of these parameters. These parameters are primarily intended to reduce the memory usage of ImageCache.

The placeholder, image, placeholderScale, imageScale, fadeOutDuration, fadeOutCurve, fadeInDuration, fadeInCurve, alignment, repeat, and matchTextDirection arguments must not be null.

See also:

Implementation

FadeInImage.memoryNetwork({
  Key? key,
  required Uint8List placeholder,
  this.placeholderErrorBuilder,
  required String image,
  this.imageErrorBuilder,
  double placeholderScale = 1.0,
  double imageScale = 1.0,
  this.excludeFromSemantics = false,
  this.imageSemanticLabel,
  this.fadeOutDuration = const Duration(milliseconds: 300),
  this.fadeOutCurve = Curves.easeOut,
  this.fadeInDuration = const Duration(milliseconds: 700),
  this.fadeInCurve = Curves.easeIn,
  this.width,
  this.height,
  this.fit,
  this.alignment = Alignment.center,
  this.repeat = ImageRepeat.noRepeat,
  this.matchTextDirection = false,
  int? placeholderCacheWidth,
  int? placeholderCacheHeight,
  int? imageCacheWidth,
  int? imageCacheHeight,
}) : assert(placeholder != null),
     assert(image != null),
     assert(placeholderScale != null),
     assert(imageScale != null),
     assert(fadeOutDuration != null),
     assert(fadeOutCurve != null),
     assert(fadeInDuration != null),
     assert(fadeInCurve != null),
     assert(alignment != null),
     assert(repeat != null),
     assert(matchTextDirection != null),
     placeholder = ResizeImage.resizeIfNeeded(placeholderCacheWidth, placeholderCacheHeight, MemoryImage(placeholder, scale: placeholderScale)),
     image = ResizeImage.resizeIfNeeded(imageCacheWidth, imageCacheHeight, NetworkImage(image, scale: imageScale)),
     super(key: key);