我试图在容器中使用svg图像作为背景,我使用这个包"flutter_svg“,我找不到提供者方法来设置它。
Container(
margin: EdgeInsets.symmetric(horizontal: 5),
width: 60,
height: 20,
decoration: BoxDecoration(
color: currentColor.medium,
borderRadius: BorderRadius.circular(4),
image: DecorationImage(
image: SvgPicture.asset('assets/images/home.png'),
),
),
);
参数类型'SvgPicture‘不能分配给参数类型SvgPicture
所以我不知道如何在这里使用svg作为ImageProvider,有什么想法吗?
发布于 2021-04-15 02:33:15
有两种选择:
首先,为此编写一个函数,如flutter_svg
包中这里中的注释
final String rawSvg = '''<svg viewBox="...">...</svg>''';
final DrawableRoot svgRoot = await svg.fromSvgString(rawSvg, rawSvg);
final Picture picture = svgRoot.toPicture();
final Image image = await picture.toImage(width, height);
return RawImage(image, 1.0);
第二个,在svg_flutter
包的基础上使用另一个svg_flutter
:
import 'package:flutter_svg_provider/flutter_svg_provider.dart';
Image(
width: 32,
height: 32,
image: Svg('assets/my_icon.svg'),
)
发布于 2022-08-18 09:41:26
您应该将pubspec.yaml,flutter_svg_provider:^1.0.0而不是flutter_svg:^1.0.0添加到
发布于 2019-12-06 09:13:45
开发人员创建了一个库,您可以在这里找到https://www.developerlibs.com/2019/06/flutter-draw-svg-vector-drawables.html
https://stackoverflow.com/questions/59217425
复制相似问题