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 = false,
  9. String? imageSemanticLabel,
  10. Duration fadeOutDuration = const Duration(milliseconds: 300),
  11. Curve fadeOutCurve = Curves.easeOut,
  12. Duration fadeInDuration = const Duration(milliseconds: 700),
  13. Curve fadeInCurve = Curves.easeIn,
  14. double? width,
  15. double? height,
  16. BoxFit? fit,
  17. BoxFit? placeholderFit,
  18. AlignmentGeometry alignment = Alignment.center,
  19. ImageRepeat repeat = ImageRepeat.noRepeat,
  20. bool matchTextDirection = false,
  21. int? placeholderCacheWidth,
  22. int? placeholderCacheHeight,
  23. int? imageCacheWidth,
  24. 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:

  • Image.memory, which has more details about loading images from memory.
  • Image.network, which has more details about loading images from the network.

Implementation

FadeInImage.memoryNetwork({
  super.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.placeholderFit,
  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));