SvgPicture.network constructor
- String url, {
- Key? key,
- Map<
String, String> ? headers, - double? width,
- double? height,
- BoxFit fit = BoxFit.contain,
- AlignmentGeometry alignment = Alignment.center,
- bool matchTextDirection = false,
- bool allowDrawingOutsideViewBox = false,
- WidgetBuilder? placeholderBuilder,
- ColorFilter? colorFilter,
- @Deprecated('Use colorFilter instead.') Color? color,
- @Deprecated('Use colorFilter instead.') BlendMode colorBlendMode = ui.BlendMode.srcIn,
- String? semanticsLabel,
- bool excludeFromSemantics = false,
- Clip clipBehavior = Clip.hardEdge,
- @Deprecated('This no longer does anything.') bool cacheColorFilter = false,
- SvgTheme? theme,
- Client? httpClient,
Creates a widget that displays an SVG obtained from the network.
The url
argument must not be null.
Either the width
and height
arguments should be specified, or the
widget should be placed in a context that sets tight layout constraints.
Otherwise, the image dimensions will change as the image is loaded, which
will result in ugly layout changes.
If matchTextDirection
is set to true, the picture will be flipped
horizontally in TextDirection.rtl contexts.
The allowDrawingOutsideOfViewBox
parameter should be used with caution -
if set to true, it will not clip the canvas used internally to the view box,
meaning the picture may draw beyond the intended area and lead to undefined
behavior or additional memory overhead.
A custom placeholderBuilder
can be specified for cases where decoding or
acquiring data may take a noticeably long time, such as high latency scenarios.
The color
and colorBlendMode
arguments, if specified, will be used to set a
ColorFilter on any Paints created for this drawing.
The theme
argument, if provided, will override the default theme
used when parsing SVG elements.
All network images are cached regardless of HTTP headers.
An optional headers
argument can be used to send custom HTTP headers
with the image request.
If excludeFromSemantics
is true, then semanticsLabel
will be ignored.
Implementation
SvgPicture.network(
String url, {
super.key,
Map<String, String>? headers,
this.width,
this.height,
this.fit = BoxFit.contain,
this.alignment = Alignment.center,
this.matchTextDirection = false,
this.allowDrawingOutsideViewBox = false,
this.placeholderBuilder,
ui.ColorFilter? colorFilter,
@Deprecated('Use colorFilter instead.') ui.Color? color,
@Deprecated('Use colorFilter instead.')
ui.BlendMode colorBlendMode = ui.BlendMode.srcIn,
this.semanticsLabel,
this.excludeFromSemantics = false,
this.clipBehavior = Clip.hardEdge,
@Deprecated('This no longer does anything.') bool cacheColorFilter = false,
SvgTheme? theme,
http.Client? httpClient,
}) : bytesLoader = SvgNetworkLoader(
url,
headers: headers,
theme: theme,
httpClient: httpClient,
),
colorFilter = colorFilter ?? _getColorFilter(color, colorBlendMode);