Image 颤振:参数类型';图像';can';不能分配给参数类型';Iconda';

Image 颤振:参数类型';图像';can';不能分配给参数类型';Iconda';,image,flutter,dart,icons,flutter-assetimage,Image,Flutter,Dart,Icons,Flutter Assetimage,我想使用“资源中的图像”作为图标,然后构建列表,但在尝试将image.asset作为类添加到图标作为变量(使用IconData作为数据类型)而不是将图标作为类时,出现了一些错误 有没有办法解决这个问题 多谢各位 class Menu { const Menu({this.icon, this.title}); final IconData icon; final String title; } const List<Menu> menus = const <Me

我想使用“资源中的图像”作为图标,然后构建列表,但在尝试将image.asset作为类添加到图标作为变量(使用IconData作为数据类型)而不是将图标作为类时,出现了一些错误

有没有办法解决这个问题

多谢各位

class Menu {
  const Menu({this.icon, this.title});

  final IconData icon;
  final String title;
}

const List<Menu> menus = const <Menu>[
  const Menu(title: 'menu_icon_1', icon: Image.asset('assets/menu/1-1.png')),
],
类菜单{
常量菜单({this.icon,this.title});
最终的Iconda图标;
最后的字符串标题;
}
常量列表菜单=常量[
常量菜单(标题:“菜单图标1”,图标:Image.asset('assets/Menu/1-1.png'),
],
错误:无法将参数类型“Image”分配给参数类型“iconda”。(参数类型不可在[sinergi]lib\home.dart:12分配)

请使用ImageIcon

class Menu {
  const Menu({this.icon, this.title});

  final ImageIcon icon;
  final String title;
}

const List<Menu> menus = const <Menu>[
  const Menu(title: 'menu_icon_1', icon: ImageIcon(AssetImage('assets/menu/1-1.png'))),
];
类菜单{
常量菜单({this.icon,this.title});
最终图像图标;
最后的字符串标题;
}
常量列表菜单=常量[
常量菜单(标题:“菜单图标1”,图标:图像图标(AssetImage('assets/Menu/1-1.png')),
];

如果需要默认图标

class Menu {
    const Menu({this.icon, this.title});

    final IconData icon;
    final String title;
}

const List<Menu> menus = const <Menu>[
    const Menu(title: 'Trending', icon: Icons.trending_up),
    const Menu(title: 'Favorite', icon: Icons.favorite),
    const Menu(title: 'Search', icon: Icons.search),
    const Menu(title: 'Category', icon: Icons.category),
    const Menu(title: 'Settings', icon: Icons.settings),
];
类菜单{
常量菜单({this.icon,this.title});
最终的Iconda图标;
最后的字符串标题;
}
常量列表菜单=常量[
常量菜单(标题:“趋势”,图标:图标。向上趋势),
常量菜单(标题:“收藏夹”,图标:Icons.Favorite),
常量菜单(标题:“搜索”,图标:Icons.Search),
常量菜单(标题:“类别”,图标:Icons.Category),
常量菜单(标题:“设置”,图标:Icons.Settings),
];

要将图像设置为显示为图标,您需要传递一个
ImageProvider
实例。为此,您需要创建属于
ImageProvider
后代的任何类的实例,例如
AssetImage
NetworkImage
MemoryImage
ResizeImage
。下面的示例使用
AssetImage
加载图像

const List<Menu> menus = const <Menu>[
  const Menu(title: 'menu_icon_1', icon: ImageIcon(AssetImage('assets/menu/1-1.png'))),
];
const列表菜单=const[
常量菜单(标题:“菜单图标1”,图标:图像图标(AssetImage('assets/Menu/1-1.png')),
];