flutter 如何将jovial_svg用于资产

sauutmhj  于 2023-02-05  发布在  Flutter
关注(0)|答案(2)|浏览(102)

我正在使用jovial_svg库从互联网上获取svg,因为我的svg文件看起来已损坏flutter_svg库。现在我想使用jovial_svg库来获取assets文件夹中的文件。
我试过了

ScalableImageSource.fromSvg()

但我没能成功。

8mmmxcuj

8mmmxcuj1#

需要更多的上下文。也许你可以发布源代码的相关部分?把它归结为一个简单的例子是很好的做法。当你运行程序时,你得到任何错误消息或警告吗?
看一下https://github.com/zathras/jovial_svg/blob/main/example/lib/main.dart作为一个最小的例子,当然,要确保资产包含在你的程序中,你有正确的路径,等等。

x4shl7ld

x4shl7ld2#

你可以这样做

ScalableImageWidget.fromSISource(
      si: ScalableImageSource.fromSvg(
        MySVG(imagePath: image.svg),
        'key',
        compact: true,
      ),
    ),

class MySVG extends AssetBundle {
  final String imagePath;
  MySVG({required this.imagePath});
  @override
  Future<ByteData> load(String key) async {
    // TODO: implement load
    return await rootBundle.load(imagePath);
  }

  @override
  Future<T> loadStructuredData<T>(
      String key, Future<T> Function(String value) parser) {
    // TODO: implement loadStructuredData
    throw UnimplementedError();
  }
}

相关问题