SvgPicture class

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

Inheritance
Available extensions

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

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, 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

fadeSlideIn({int milliseconds = 1000, double offset = 24}) → 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

onPress(VoidCallback onTap, {double pressedScale = 0.9, Duration duration = const Duration(milliseconds: 120)}) → 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

position({double? left, double? top, double? right, double? bottom, double? width, double? height}) → 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