SvgPicture class

A widget that will parse SVG data for rendering on screen.

Inheritance

Constructors

SvgPicture(BytesLoader bytesLoader, {Key? key, double? width, double? height, BoxFit fit = BoxFit.contain, AlignmentGeometry alignment = Alignment.center, bool matchTextDirection = false, bool allowDrawingOutsideViewBox = false, WidgetBuilder? placeholderBuilder, ColorFilter? colorFilter, String? semanticsLabel, bool excludeFromSemantics = false, Clip clipBehavior = Clip.hardEdge, SvgErrorWidgetBuilder? errorBuilder, SvgImageWidgetBuilder? imageBuilder, @Deprecated('No code should use this parameter. It never was implemented properly. ' 'The SVG theme must be set on the bytesLoader.') SvgTheme? theme, @Deprecated('This no longer does anything.') bool cacheColorFilter = false, RenderingStrategy renderingStrategy = RenderingStrategy.picture})
Instantiates a widget that renders an SVG picture using the pictureProvider.
const
SvgPicture.asset(String assetName, {Key? key, bool matchTextDirection = false, AssetBundle? bundle, String? package, double? width, double? height, BoxFit fit = BoxFit.contain, AlignmentGeometry alignment = Alignment.center, bool allowDrawingOutsideViewBox = false, WidgetBuilder? placeholderBuilder, String? semanticsLabel, bool excludeFromSemantics = false, Clip clipBehavior = Clip.hardEdge, SvgErrorWidgetBuilder? errorBuilder, SvgImageWidgetBuilder? imageBuilder, SvgTheme? theme, ColorMapper? colorMapper, ColorFilter? colorFilter, @Deprecated('Use colorFilter instead.') Color? color, @Deprecated('Use colorFilter instead.') BlendMode colorBlendMode = ui.BlendMode.srcIn, @Deprecated('This no longer does anything.') bool cacheColorFilter = false, RenderingStrategy renderingStrategy = RenderingStrategy.picture})
Instantiates a widget that renders an SVG picture from an AssetBundle.
SvgPicture.file(File file, {Key? key, 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, SvgErrorWidgetBuilder? errorBuilder, SvgImageWidgetBuilder? imageBuilder, SvgTheme? theme, ColorMapper? colorMapper, @Deprecated('This no longer does anything.') bool cacheColorFilter = false, RenderingStrategy renderingStrategy = RenderingStrategy.picture})
Creates a widget that displays an SVG obtained from a File.
SvgPicture.memory(Uint8List bytes, {Key? key, 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, SvgErrorWidgetBuilder? errorBuilder, SvgImageWidgetBuilder? imageBuilder, SvgTheme? theme, ColorMapper? colorMapper, @Deprecated('This no longer does anything.') bool cacheColorFilter = false, RenderingStrategy renderingStrategy = RenderingStrategy.picture})
Creates a widget that displays an SVG obtained from a Uint8List.
SvgPicture.network(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, SvgErrorWidgetBuilder? errorBuilder, SvgImageWidgetBuilder? imageBuilder, @Deprecated('This no longer does anything.') bool cacheColorFilter = false, SvgTheme? theme, ColorMapper? colorMapper, Client? httpClient, RenderingStrategy renderingStrategy = RenderingStrategy.picture})
Creates a widget that displays an SVG obtained from the network.
SvgPicture.string(String string, {Key? key, 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, SvgErrorWidgetBuilder? errorBuilder, SvgImageWidgetBuilder? imageBuilder, SvgTheme? theme, ColorMapper? colorMapper, @Deprecated('This no longer does anything.') bool cacheColorFilter = false, RenderingStrategy renderingStrategy = RenderingStrategy.picture})
Creates a widget that displays an SVG obtained from a String.

Properties

alignment → AlignmentGeometry
How to align the picture within its parent widget.
final
allowDrawingOutsideViewBox → bool
If true, will allow the SVG to be drawn outside of the clip boundary of its viewBox.
final
bytesLoader → BytesLoader
The BytesLoader used to resolve the SVG.
final
clipBehavior → Clip
The content will be clipped (or not) according to this option.
final
colorFilter → ColorFilter?
The color filter, if any, to apply to this widget.
final
errorBuilder → SvgErrorWidgetBuilder?
Widget displayed while the target image failed loading.
final
excludeFromSemantics → bool
Whether to exclude this picture from semantics.
final
fit → BoxFit
How to inscribe the picture into the space allocated during layout. The default is BoxFit.contain.
final
hashCode → int
The hash code for this object.
no setterinherited
height → double?
If specified, the height to use for the SVG. If unspecified, the SVG will take the height of its parent.
final
imageBuilder → SvgImageWidgetBuilder?
A builder that wraps the successfully loaded SVG widget.
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
matchTextDirection → bool
If true, will horizontally flip the picture in TextDirection.rtl contexts.
final
placeholderBuilder → WidgetBuilder?
The placeholder to use while fetching, decoding, and parsing the SVG data.
final
renderingStrategy → RenderingStrategy
Widget rendering strategy used to balance flexibility and performance.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
semanticsLabel → String?
The Semantics.label for this picture.
final
width → double?
If specified, the width to use for the SVG. If unspecified, the SVG will take the width of its parent.
final

Methods

build(BuildContext context) → Widget
Describes the part of the user interface represented by this widget.
override
createElement() → StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

defaultPlaceholderBuilder ↔ WidgetBuilder
The default placeholder for a SVG that may take time to parse or retrieve, e.g. from a network location.
getter/setter pair