我新的Flutter和使用插件称为FloatBoxPanel,属性panelIcon
一个IconData是预期的,我创建了一个svg图标,现在我不知道如何使用它。直接使用将显示错误:
The argument type 'Icon' can't be assigned to the parameter type 'IconData'. (Documentation)
The argument type 'SvgPicture' can't be assigned to the parameter type 'IconData'. (Documentation)
这里是这个代码的一部分,请让我知道如果可能的话,谢谢!!
// panelIcon's Type:IconData
panelIcon: Icon(
SvgPicture.asset(
'assets/images/candle.svg',
height: 20.0,
width: 20.0,
allowDrawingOutsideViewBox: true,
),
),
3条答案
按热度按时间z0qdvdin1#
类型
IconData
必须具有Icon()
。不能将其设置为Image或Svg。您有两种解决方案:要么使用@Thierry所说的将Svg转换为
Icon
,要么更改包中的代码以支持Image
而不是Icon
。fcwjkofz2#
有一种很好的方法可以从SVG图像创建IconData,方法是将其转换为.ttf文件格式,然后将其作为字体系列添加到pubspec.yaml中...
请检查整个过程的以下内容:
https://www.freecodecamp.org/news/how-to-add-custom-icons-to-your-flutter-application/
P.S.从“如何在Flutter中生成自定义图标”部分阅读。
irlmq6kh3#
Flutter中的Svg https://pub.dev/packages/flutter_svg
1.在pubspec.yaml中添加包
2.dependencies:扑动_SVG:任何
3.资产:-资产/图像/
4.to insert svg.
svg图片. asset('assets/images/your_image.svg ',宽度:24,身高:第29.2节),