提问人:developer new 提问时间:10/26/2023 最后编辑:developer new 更新时间:10/26/2023 访问量:43
如何使用svg扩展名将其添加到Icon中?
How can I add it to Icon with svg extension?
问:
我想创建自己的图标。为此,我创建了带有扩展名的 CustomIcon。
extension CustomIcons on Icon {
Icon get panelIcon =>Icon(
icon: SvgPicture.asset("asset/svg/one.svg", semanticsLabel: 'One') ,
color: Colors.red,
);
}
}
我想以 Icon(Icons.panelIcon) 的形式使用我的 CustomIcon。我在照片中出现错误。我该怎么做?
答:
0赞
Texv
10/26/2023
#1
我不太确定如何使用自定义图标扩展小部件,但这就是我建议的方法:Icon
class CustomIcons {
static Image panelIcon = Image.asset(
'asset/svg/one.svg',
);
}
然后,您可以通过调用以下命令简单地使用它:
CustomIcons.panelIcon;
0赞
Nehemie KOFFI
10/26/2023
#2
需要知道的几件事:
- class 的参数类型为 。
icon
Icon
IconData?
IconData
是字体字符,而不是图像。它是“MaterialIcons”字体的一部分。
以下是实现它的步骤:
对 class 进行扩展,而不是 .
Icons
Icon
使用此网站使用svg图片创建自定义字体:https://icomoon.io/app
在 flutter 项目资源中导入字体
像这样编写代码
extension customIcons on Icons {
static IconData panelIcon = const IconData(0x[CHARACTER_CODE], fontFamily: 'YourCustomIconFont');
}
铌:您将很容易在 iconmoon.io 上获得CHARACTER_CODE。以此为例进行检查。👇🏽

评论
Icon
Icons
Icons.person
Icons
SvgPicture.asset
Icon
Icon
IconData
icon
IconData