SvgPicture class

A widget that will parse SVG data into a Picture using a PictureProvider.

The picture will be cached using the PictureCache, incorporating any color filtering used into the key (meaning the same SVG with two different color arguments applied would be two cache entries).

Inheritance

Constructors

SvgPicture(PictureProvider pictureProvider, {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, bool cacheColorFilter = false, SvgTheme? theme})
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, Color? color, BlendMode colorBlendMode = BlendMode.srcIn, String? semanticsLabel, bool excludeFromSemantics = false, Clip clipBehavior = Clip.hardEdge, bool cacheColorFilter = false, SvgTheme? theme})
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, Color? color, BlendMode colorBlendMode = BlendMode.srcIn, String? semanticsLabel, bool excludeFromSemantics = false, Clip clipBehavior = Clip.hardEdge, bool cacheColorFilter = false, SvgTheme? theme})
Creates a widget that displays a PictureStream 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, Color? color, BlendMode colorBlendMode = BlendMode.srcIn, String? semanticsLabel, bool excludeFromSemantics = false, Clip clipBehavior = Clip.hardEdge, bool cacheColorFilter = false, SvgTheme? theme})
Creates a widget that displays a PictureStream 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, Color? color, BlendMode colorBlendMode = BlendMode.srcIn, String? semanticsLabel, bool excludeFromSemantics = false, Clip clipBehavior = Clip.hardEdge, bool cacheColorFilter = false, SvgTheme? theme})
Creates a widget that displays a PictureStream 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, Color? color, BlendMode colorBlendMode = BlendMode.srcIn, String? semanticsLabel, bool excludeFromSemantics = false, Clip clipBehavior = Clip.hardEdge, bool cacheColorFilter = false, SvgTheme? theme})
Creates a widget that displays a PictureStream 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
cacheColorFilter bool
Whether to cache the picture with the colorFilter applied or not.
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
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
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
pictureProvider PictureProvider
The PictureProvider used to resolve the SVG.
final
placeholderBuilder WidgetBuilder?
The placeholder to use while fetching, decoding, and parsing the SVG data.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
semanticsLabel String?
The Semantics.label for this picture.
final
theme SvgTheme?
The theme used when parsing SVG elements.
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

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<SvgPicture>
Creates the mutable state for this widget at a given location in the tree.
override
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.
inherited
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
svgByteDecoderBuilder PictureInfoDecoderBuilder<Uint8List>
A PictureInfoDecoderBuilder for Uint8Lists that will clip to the viewBox.
final
svgByteDecoderOutsideViewBoxBuilder PictureInfoDecoderBuilder<Uint8List>
A PictureInfoDecoderBuilder for Uint8Lists that will not clip to the viewBox.
final
svgStringDecoderBuilder PictureInfoDecoderBuilder<String>
A PictureInfoDecoderBuilder for strings that will clip to the viewBox.
final
svgStringDecoderOutsideViewBoxBuilder PictureInfoDecoderBuilder<String>
A PictureInfoDecoderBuilder for Strings that will not clip to the viewBox.
final