01 · Flutter package
full_svg_flutter
Garder le SVG comme format source dans Flutter.
Pourquoi il existe
Les icônes statiques ne sont qu'une petite partie du SVG. Les assets produit peuvent reposer sur SMIL, des animations CSS, du morphing, des filtres, du texte ou un lecteur JavaScript inline. Les convertir ajoute une seconde source de vérité ; un WebView ajoute un second système de rendu.
Installation
flutter pub add full_svg_flutterDémarrage rapide
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');Couverture
- 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
Comment ça marche
Le package analyse un document SVG dans son propre modèle préservant le DOM, évalue les styles et l'état d'animation, puis dessine via Flutter. Contenu statique et contenu animé partagent le même moteur. JavaScript ne démarre que si un élément script est présent.
À utiliser quand
- Vous recevez des SVG animés ou des assets SVGator et ne pouvez pas changer le format source.
- Vous avez besoin d'une fidélité des filtres, masques, textes ou animations qui dépasse le rendu d'icônes statiques.
- Vous voulez une API familière, dans l'esprit de flutter_svg, et un chemin de migration sans WebView.
Carte de l'API
FSvgPicture- Widget principal pour les assets statiques ou animés depuis un asset, le réseau, une chaîne, un fichier ou des bytes.
SvgPicture- Point d'entrée statique compatible avec flutter_svg.
AnimatedSvgController- Lecture, pause, seek, changement de vitesse ou de direction, et bascule entre vues SVG.
renderSvgToPicture- Enregistrement d'un SVG dans un Picture pour un painting personnalisé ou une rastérisation.
svg.cache- Cache configurable des sources décodées, partagé entre les widgets.
À savoir avant la mise en production
- C'est un runtime SVG, pas un DOM de navigateur complet ; foreignObject et les frameworks dépendants du navigateur sont hors périmètre.
- Validez visuellement les filtres complexes et les textes à direction mixte avant la mise en production.