flutter - 我有一个字符串列表,我想根据一个词显示一个图标
问题描述
我有一个列表“生活”、“汽车”、“汽车”,如果这个词是生活,我想返回一个最喜欢的图标,如果这个词是汽车,我想返回一个汽车图标。这是我做的课
class IcoImage extends Icon {
final List<String> entries;
final int i = 0;
IcoImage({Key key, this.entries}) : super(key: key);
@override
Widget build(BuildContext context) {
for (int i = 0; i < entries.length; i++) {
return entries[i].toString()=='Life'?Icons.favorite_border:Icons.directions_car;
}
}
}
解决方案
为什么不将图标存储在您的资产文件夹中,然后像这样访问它们:
class IcoImage extends Icon {
final List<String> entries;
final int i = 0;
IcoImage({Key key, this.entries}) : super(key: key);
@override
Widget build(BuildContext context) {
for (int i = 0; i < entries.length; i++) {
return Image.asset(
'assets/images/${entries[i].toString()}.png');
}
}
}
或者您可以传递地图而不是传递列表
List<Map<String, IconData>> _myIcons = [
{
'name': 'Favorite',
'icon': Icons.favorite,
},
{
'name': 'Car',
'icon': Icons.directions_car,
},
];
并返回这个Icon(_myIcons[index]['icon']);
推荐阅读
- selenium - 如何在 JMeter 中声明通用方法以在多个线程中使用脚本
- excel - 在 Excel 中使用时间比较
- azure - azure 应用服务身份验证令牌验证
- html - 中心跨度在按钮内垂直
- javascript - 如何在 Flutter 中集成 Twilio JavaScript Video 库?
- android - 在项目中添加 Crashlytics 有 Dexguard
- sql - oracle函数延迟太高
- angular - Angular Slick-grid 列选择器图标隐藏在网格菜单图标后面,手动设置列宽
- python - python代码中关于async和await的问题
- php - “vendor\guzzlehttp\psr7\src\Uri.php:72”文件出现错误