flutter SVG在PreCache中的使用?

brqmpdu1  于 2023-06-30  发布在  Flutter
关注(0)|答案(1)|浏览(124)

我的应用程序使用了许多图像,所以为了减小应用程序的大小,我使用了SVG而不是PNG。现在我无法使用SVG作为precacheImage。我用SvgPicture代替AssetImage,但仍然不工作。

static void precacheMeasures(BuildContext context) async {
for (int i = 0; i < MeasureCategoriesEnum.values.length; ++i) {
  final MeasureCategoriesEnum category = MeasureCategoriesEnum.values[i];
  final List<MeasuresEnum> measures = categories[category]!;
  for (MeasuresEnum measure in measures) {
    final String caption = TypeHelpers.getEnumCaption(measure);
    final MeasureCategoriesEnum? category =
        categories.keys.firstWhereOrNull((MeasureCategoriesEnum k) => categories[k]!.contains(measure));
    precacheImage(AssetImage('Resources/Images/Measures/${TypeHelpers.getEnumCaption(category)}/$caption.svg'), context);
  }
}

任何解决方案都会有帮助。

mfuanj7w

mfuanj7w1#

我建议使用SvgPicture.asset('assetname.svg')。可以通过Pub:https://pub.dev/packages/flutter_svg
它的行为应该与任何其他资产映像一样。

相关问题