Flutter uygulamama SVG kaynağı olan bir resim eklemeyi denedim.
new AssetImage("assets/images/candle.svg"))
Ama görsel bir geri bildirim almadım. Flutter'da bir SVG resmini nasıl işleyebilirim?
Yanıtlar:
Flutter şu anda SVG'yi desteklemiyor. Güncellemeler için 1831 numaralı sorunu takip edin .
Vektör çizimine kesinlikle ihtiyacınız varsa , API kullanarak nasıl çizileceğine dair bir örnek olarak Flutter Logo widget'ını görebilir Canvas
veya görüntünüzü yerel tarafta rasterleştirebilir ve bir bitmap olarak Flutter'a aktarabilirsiniz, ancak şimdilik en iyi seçeneğiniz muhtemelen yüksek çözünürlüklü rasterleştirilmiş varlık görüntüleri ekleyin.
flutter_svg
paketi
Yazı tipleri, birçok durum için harika bir seçenektir.
SVG'leri tuval üzerinde işlemek için bir kitaplık üzerinde çalışıyorum, şu adresten ulaşılabilir: https://github.com/dnfield/flutter_svg
Şu an itibariyle API şuna benzeyecektir:
new SvgPicture.asset('asset_name.svg')
asset_name.svg (üstüne göre boyutlandırılmış, örneğin SizedBox
) oluşturmak için. Ayrıca varlığı renklendirmek için bir color
ve belirtebilirsiniz blendMode
..
Artık pub'da mevcut ve minimum Flutter sürüm 0.3.6 ile çalışıyor. Bir grup vakayı ele alıyor ancak her şeyi değil - güncellemeler ve dosya sorunları için GitHub deposuna bakın.
Colin Jackson tarafından atıfta bulunulan orijinal GitHub sorunu, aslında Flutter'daki SVG'ye odaklanmak için tasarlanmamıştır. Bunun için burada başka bir konu açtım: https://github.com/flutter/flutter/issues/15501
Canvas
yöntemler kullanılarak Dart'ta yazılmıştır .
Flutter topluluğundan geliştiriciler, svg dosyalarını işlemek için bir kitaplık oluşturdu. Olarak kullanabiliriz
new SvgPicture.asset(
'assets/images/candle.svg',
height: 20.0,
width: 20.0,
allowDrawingOutsideViewBox: true,
),
Burada küçük bir SVG uygulaması örneği buldum .
Şimdilik geçici çalışma fontları kullanmaktır
fonts:
- family: icomoon
fonts:
- asset: assets/fonts/icomoon.ttf
Kullanım oranı
static const IconData TabBarHome= const IconData(0xe906, fontFamily: 'icomoon');
static const IconData TabBarExplore= const IconData(0xe902, fontFamily: 'icomoon');
### yazın, örneğin (906)
Aşağıdaki adımları takip edebilirsiniz
- http://fluttericon.com adresini ziyaret edin
- SVG simgelerinizi yükleyin
- indirme düğmesine tıklayın
- iki dosya alacaksınız
1. iconname.dart
2. iconname.ttf yazı tipi dosyası
- bu dosyayı flutter & iconname.dart dosyasını içe aktar
Flare kullanarak animasyonlar oluşturabilir ve .flr'yi varlık olarak içe aktarabilirsiniz
import 'package:flare_flutter/flare_actor.dart';
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return new FlareActor("assets/Filip.flr", alignment:Alignment.center, fit:BoxFit.contain, animation:"idle");
}
}
flare_flutter'ı ziyaret edin https://pub.dev/packages/flare_flutter
Bu kitaplığı SVG Görüntülerini oluşturmak için kullanabilirsiniz - https://pub.dev/packages/flutter_svg
Misal -
Container(
child: SvgPicture.asset("assets/images/yourImage.svg")
)
flutter_svg 0.14.0
paketi kullanmayı deneyin, cazibe gibi çalışır burada daha fazla bilgi pub.dev/packages/flutter_svg , hepsi chrome'un svg oluşturma mantığını dart'a taşıyan bu adama github.com/dnfield sayesinde