01 · Flutter package
full_svg_flutter
SVG als Quellformat in Flutter behalten.
Warum es das gibt
Statische Icons sind nur ein kleiner Teil von SVG. Produkt-Assets nutzen oft SMIL, CSS-Animation, Morphing, Filter, Text oder einen eingebetteten JavaScript-Player. Konvertierung schafft eine zweite Quelle der Wahrheit, ein WebView ein zweites Rendering-System.
Installation
flutter pub add full_svg_flutterSchnellstart
import 'package:full_svg_flutter/full_svg_flutter.dart';
// Static or animated — the runtime detects the document.
FSvgPicture.asset(
'assets/hero.svg',
width: 240,
semanticsLabel: 'Product illustration',
);
// Existing static flutter_svg usage can keep the familiar API.
SvgPicture.asset('assets/icon.svg');Abdeckung
- Static SVG and DOM-preserving rendering
- SMIL and CSS @keyframes animation
- Path morphing and motion paths
- All 17 SVG filter primitives
- Masks, clipping, gradients, patterns, and rich text
- Inline JavaScript and SVGator exports
- Playback control and SVG <view> navigation
- flutter_svg-compatible static API
So funktioniert es
Das Paket parst ein SVG-Dokument in ein eigenes DOM-erhaltendes Modell, wertet Style- und Animationszustand aus und zeichnet über Flutter. Statischer und animierter Inhalt laufen durch dieselbe Engine. JavaScript startet erst, wenn tatsächlich ein script-Element vorhanden ist.
Einsetzen, wenn
- Sie bekommen animierte SVG- oder SVGator-Assets und können das Quellformat nicht ändern.
- Sie brauchen Filter-, Masken-, Text- oder Animationstreue jenseits statischer Icons.
- Sie wollen ein vertrautes API im Stil von flutter_svg und einen Migrationspfad ohne WebView.
API-Übersicht
FSvgPicture- Primäres Widget für statische oder animierte Assets aus Asset, Netzwerk, String, Datei oder Bytes.
SvgPicture- Statischer, flutter_svg-kompatibler Einstiegspunkt.
AnimatedSvgController- Abspielen, pausieren, springen, Geschwindigkeit und Richtung ändern, SVG-Views wechseln.
renderSvgToPicture- Ein SVG in ein Picture zeichnen – für eigenes Painting oder Rasterisierung.
svg.cache- Konfigurierbarer Cache für dekodierte Quellen, geteilt über alle Widgets.
Vor dem Release wissen
- Es ist eine SVG-Runtime, kein vollständiges Browser-DOM; foreignObject und browserabhängige Frameworks liegen außerhalb des Scopes.
- Komplexe Filter und Text mit gemischter Schreibrichtung vor dem Release visuell prüfen.