01 · Flutter package
full_svg_flutter
შეინარჩუნეთ SVG საწყის ფორმატად Flutter-ის შიგნით.
რატომ არსებობს
სტატიკური ხატულები SVG-ის მხოლოდ მცირე ნაწილია. პროდუქტის ასეტები შეიძლება SMIL-ს, CSS-ანიმაციას, path morphing-ს, ფილტრებს, ტექსტს ან ჩაშენებულ JavaScript-ფლეერს ეყრდნობოდეს. კონვერტაცია მეორე პირველწყაროს ამატებს; WebView — მეორე რენდერინგის სისტემას.
ინსტალაცია
flutter pub add full_svg_flutterსწრაფი დაწყება
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');რას ფარავს
- 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
როგორ მუშაობს
პაკეტი SVG-დოკუმენტს საკუთარ, DOM-ის სტრუქტურის შემნახველ მოდელში პარსავს, ითვლის სტილისა და ანიმაციის მდგომარეობას და შემდეგ Flutter-ის მეშვეობით ხატავს. სტატიკური და ანიმირებული კონტენტი ერთსა და იმავე ძრავს იყენებს. JavaScript მხოლოდ მაშინ იტვირთება, როცა დოკუმენტში script ელემენტია.
გამოიყენეთ, როცა
- იღებთ ანიმირებულ SVG-ს ან SVGator-ის ასეტებს და საწყისი ფორმატის შეცვლა არ შეგიძლიათ.
- გჭირდებათ ფილტრების, მასკების, ტექსტის ან ანიმაციის სიზუსტე, რომელიც სტატიკური ხატულების რენდერინგს სცდება.
- გსურთ flutter_svg-ის სტილის ნაცნობი API და მიგრაციის გზა WebView-ს გარეშე.
API-ს რუკა
FSvgPicture- მთავარი ვიჯეტი სტატიკური ან ანიმირებული ასეტისთვის — asset-იდან, ქსელიდან, სტრიქონიდან, ფაილიდან ან ბაიტებიდან.
SvgPicture- სტატიკური, flutter_svg-თან თავსებადი შესასვლელი წერტილი.
AnimatedSvgController- დაკვრა, პაუზა, გადახვევა, სიჩქარისა და მიმართულების შეცვლა და SVG-ის ხედებს შორის გადართვა.
renderSvgToPicture- SVG-ის Picture-ში ჩაწერა საკუთარი ხატვისთვის ან რასტერიზაციისთვის.
svg.cache- ვიჯეტებს შორის გაზიარებული, კონფიგურირებადი ქეში დეკოდირებული წყაროებისთვის.
გაითვალისწინეთ რელიზამდე
- ეს SVG runtime-ია და არა სრული ბრაუზერის DOM; foreignObject და ბრაუზერზე დამოკიდებული ფრეიმვორკები მის ფარგლებს გარეთაა.
- რთული ფილტრებისა და შერეული მიმართულების ტექსტის მქონე ასეტები რელიზამდე ვიზუალურად შეამოწმეთ.