我正在尝试使用 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'),
),
),
);
Run Code Online (Sandbox Code Playgroud)
参数类型“SvgPicture”无法分配给参数类型“ImageProvider”.dart(argument_type_not_assignable)
所以我不知道如何在这里使用 svg 作为 ImageProvider ,任何想法
Omi*_*aha 10
有两种选择:
第一个,为此编写一个函数,如此处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);
Run Code Online (Sandbox Code Playgroud)
第二个,在包之上使用另一个包svg_flutter:
import 'package:flutter_svg_provider/flutter_svg_provider.dart';
Image(
width: 32,
height: 32,
image: Svg('assets/my_icon.svg'),
)
Run Code Online (Sandbox Code Playgroud)
小智 -2
Flutter 开发人员创建了一个库,您可以在此处找到
https://www.developerlibs.com/2019/06/flutter-draw-svg-vector-drawables.html
| 归档时间: |
|
| 查看次数: |
14703 次 |
| 最近记录: |