network static method
Image
network(
- String src, {
- Key? key,
- double scale = 1.0,
- Map<
String, String> ? headers, - ImageFrameBuilder? frameBuilder,
- ImageLoadingBuilder? loadingBuilder,
- ImageErrorWidgetBuilder? errorBuilder,
- String? semanticLabel,
- bool excludeFromSemantics = false,
- double? width,
- double? height,
- Color? color,
- Animation<
double> ? opacity, - BlendMode? colorBlendMode,
- BoxFit? fit,
- AlignmentGeometry alignment = Alignment.center,
- ImageRepeat repeat = ImageRepeat.noRepeat,
- Rect? centerSlice,
- bool matchTextDirection = false,
- bool gaplessPlayback = false,
- FilterQuality filterQuality = FilterQuality.medium,
- bool isAntiAlias = false,
- int? cacheWidth,
- int? cacheHeight,
Drop-in replacement for Image.network that records image.load spans.
Caveat: passing cacheWidth / cacheHeight wraps the provider in
ResizeImage, whose default resolveStreamForKey only calls loadImage
on a cache miss. Memory hits on the resized key therefore emit no
image.load span. Omit both (or resize at the widget layer) if
memory-hit visibility matters.
Implementation
static Image network(
String src, {
Key? key,
double scale = 1.0,
Map<String, String>? headers,
ImageFrameBuilder? frameBuilder,
ImageLoadingBuilder? loadingBuilder,
ImageErrorWidgetBuilder? errorBuilder,
String? semanticLabel,
bool excludeFromSemantics = false,
double? width,
double? height,
Color? color,
Animation<double>? opacity,
BlendMode? colorBlendMode,
BoxFit? fit,
AlignmentGeometry alignment = Alignment.center,
ImageRepeat repeat = ImageRepeat.noRepeat,
Rect? centerSlice,
bool matchTextDirection = false,
bool gaplessPlayback = false,
FilterQuality filterQuality = FilterQuality.medium,
bool isAntiAlias = false,
int? cacheWidth,
int? cacheHeight,
}) {
return Image(
key: key,
image: ResizeImage.resizeIfNeeded(
cacheWidth,
cacheHeight,
VuNetworkImage(src, scale: scale, headers: headers),
),
frameBuilder: frameBuilder,
loadingBuilder: loadingBuilder,
errorBuilder: errorBuilder,
semanticLabel: semanticLabel,
excludeFromSemantics: excludeFromSemantics,
width: width,
height: height,
color: color,
opacity: opacity,
colorBlendMode: colorBlendMode,
fit: fit,
alignment: alignment,
repeat: repeat,
centerSlice: centerSlice,
matchTextDirection: matchTextDirection,
gaplessPlayback: gaplessPlayback,
filterQuality: filterQuality,
isAntiAlias: isAntiAlias,
);
}