如何在Flutter中将字符串值转换为图标值,我从json中获取字符串形式的图标值。
当我尝试使用该值时,出现以下错误
error: The argument type 'String' can't be assigned to the parameter type 'IconData'. (argument_type_not_assignable at [hippo] lib\screens\dynamic_list.dart:71)
{
"page": 1,
"MenuItems": [
{
"id": 419701,
"icon": "MdiIcons.account",
"name": "account"
},
{
"id": 419702,
"icon": "MdiIcons.currencyUsd",
"name": "Funds"
},
{
"id": 419703,
"icon": "MdiIcons.home",
"name": "home"
}
]
}
8条答案
按热度按时间qfe3c7zg1#
您可以根据Flutter官方文档使用Icon类常量来实现。
在此查看更多Icon类常量:https://api.flutter.dev/flutter/material/Icons-class.html#constants
r55awzrz2#
您可以根据Flutter官方文档使用Icon类常量。(https://api.flutter.dev/flutter/material/Icons-class.html#constants)
示例:
IconData(0xf518, fontFamily: 'MaterialIcons')
也可以生成自定义图像到字体图标(生成到字体)。保存ttf文件在资产。传递unicode数据(如“e90 a”)。
示例:
bttbmeg03#
正如@user3705905所指出的,以及在https://github.com/flutter/flutter/issues/75633中提到的,使用十六进制或
IconData.codePoint
值将不再起作用。为了克服这个问题,并存储图标IconData
的引用,您可以使用以下解决方案,使用map(例如):稍后您可以简单地使用Map键,然后获取图标数据。
inb24sb24#
使用 Flutter _远程_图标
https://github.com/softmarshmallow/remote-ui/tree/master/flutter/packages/flutter_remote_icon
https://pub.dev/packages/flutter_remote_icon
cdmah0mi5#
我为此创建了一个简单的类。
用法:
我不能把所有的类代码在这里。因为这篇文章限制在30k字符。
xlpyo6sf6#
ryoqjall7#
尝试删除此“"撇号,因为图标数据不应是字符串
n9vozmp48#
我用材质图标来解决这个问题
导入“包:材料设计图标Flutter/材料设计图标Flutter. dart”;