SvgPicture class

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

Inheritance
Available extensions

Constructors

SvgPicture.new(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, @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, 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, 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, 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, @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, 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
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
pZero Widget

Available on Widget, provided by the WidgetsExtension extension

no setter
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
sliverBox Widget

Available on Widget, provided by the WidgetSliverBoxX extension

no setter
width double?
If specified, the width to use for the SVG. If unspecified, the SVG will take the width of its parent.
final

Methods

alignAtBottomCenter({Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignAtBottomLeft({Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignAtBottomRight({Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignAtCenter({Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignAtCenterLeft({Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignAtCenterRight({Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignAtLERP(Alignment a, Alignment b, double t, {Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignAtTopCenter({Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignAtTopLeft({Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignAtTopRight({Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

alignXY(double x, double y, {Key? key, double? heightFactor, double? widthFactor}) Align

Available on Widget, provided by the WidgetsExtension extension

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
card({Color? backgroundColor, double elevation = 1, EdgeInsets? margin}) Widget

Available on Widget, provided by the WidgetsExtension extension

container({double? width, double? height, Alignment? alignment, Color? backgroundColor, double borderWidth = 1, double radius = 1, Color borderColor = Colors.transparent, EdgeInsets? padding, EdgeInsets? margin, BoxConstraints? constraints}) Widget

Available on Widget, provided by the WidgetsExtension extension

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
expanded({int flex = 1}) Widget

Available on Widget, provided by the WidgetsExtension extension

fit({Alignment alignment = Alignment.center}) Widget

Available on Widget, provided by the WidgetsExtension extension

form(GlobalKey<FormState> key) Widget

Available on Widget, provided by the WidgetsExtension extension

ltr() Widget

Available on Widget, provided by the WidgetsExtension extension

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onDoubleTap(GestureTapCallback? onPressed) Widget

Available on Widget, provided by the WidgetsExtension extension

onLongPress(GestureTapCallback? onPressed) Widget

Available on Widget, provided by the WidgetsExtension extension

onTap(GestureTapCallback? onPressed) Widget

Available on Widget, provided by the WidgetsExtension extension

onTapInk(GestureTapCallback? onPressed) Widget

Available on Widget, provided by the WidgetsExtension extension

pAll(double padding) Widget

Available on Widget, provided by the WidgetsExtension extension

pOnly({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0}) Widget

Available on Widget, provided by the WidgetsExtension extension

pSymmetric({double horizontal = 0.0, double vertical = 0.0}) Widget

Available on Widget, provided by the WidgetsExtension extension

rotate(double scale) Widget

Available on Widget, provided by the WidgetsExtension extension

rtl() Widget

Available on Widget, provided by the WidgetsExtension extension

safeArea() Widget

Available on Widget, provided by the WidgetsExtension extension

scale(double scale) Widget

Available on Widget, provided by the WidgetsExtension extension

scrollable({Axis scrollDirection = Axis.vertical}) Widget

Available on Widget, provided by the WidgetsExtension extension

showMenus(List<PopupMenuEntry<int>> items) Widget

Available on Widget, provided by the WidgetsExtension extension

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
translate(Offset offset) Widget

Available on Widget, provided by the WidgetsExtension extension

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