FadeInImage.assetNetwork constructor

FadeInImage.assetNetwork({Key key, @required String placeholder, @required String image, AssetBundle bundle, double placeholderScale, double imageScale: 1.0, bool excludeFromSemantics: false, String imageSemanticLabel, Duration fadeOutDuration: const Duration(milliseconds: 300), Curve fadeOutCurve: Curves.easeOut, Duration fadeInDuration: const Duration(milliseconds: 700), Curve fadeInCurve: Curves.easeIn, double width, double height, BoxFit fit, AlignmentGeometry alignment: Alignment.center, ImageRepeat repeat: ImageRepeat.noRepeat, bool matchTextDirection: false })

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

The placeholder argument is the key of the image in the asset bundle.

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 placeholderScale is omitted or is null, pixel-density-aware asset resolution will be attempted for the placeholder image. Otherwise, the exact asset specified will be used.

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

See also:

  • new Image.asset, which has more details about loading images from asset bundles.
  • new Image.network, which has more details about loading images from the network.

Implementation

FadeInImage.assetNetwork({
  Key key,
  @required String placeholder,
  @required String image,
  AssetBundle bundle,
  double placeholderScale,
  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,
}) : assert(placeholder != null),
     assert(image != null),
     placeholder = placeholderScale != null
       ? ExactAssetImage(placeholder, bundle: bundle, scale: placeholderScale)
       : AssetImage(placeholder, bundle: bundle),
     assert(imageScale != null),
     assert(fadeOutDuration != null),
     assert(fadeOutCurve != null),
     assert(fadeInDuration != null),
     assert(fadeInCurve != null),
     assert(alignment != null),
     assert(repeat != null),
     assert(matchTextDirection != null),
     image = NetworkImage(image, scale: imageScale),
     super(key: key);