Flutter 使用带有AssetImage的地图

Flutter 使用带有AssetImage的地图,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我有一个场景,我想根据选择在应用程序上显示的文本加载图像 例如,我有一张如下所示的地图: final _activity = const [ {'Activity': 'Rock Climbing','Image':'assets/images/rockclimbing.jpg'}, {'Activity': 'Running','Image':'assets/images/running.jpg'}, ]; 如果我想在文本小部件中显示与活动相关的文本,我可以执行以下操作: T

我有一个场景,我想根据选择在应用程序上显示的文本加载图像

例如,我有一张如下所示的地图:

final _activity = const [
    {'Activity': 'Rock Climbing','Image':'assets/images/rockclimbing.jpg'},
    {'Activity': 'Running','Image':'assets/images/running.jpg'},
];
如果我想在文本小部件中显示与活动相关的文本,我可以执行以下操作:

Text(
  activity[activityNumber]['Activity'],
),
但是,我还想显示相应的图像,以下是我尝试过但不起作用的图像:

decoration: BoxDecoration(
  color: const Color(0xff7c94b6),
  image: const DecorationImage(
    image:AssetImage (activity[activityNumber]['Image']),
    fit: BoxFit.cover,
),

我也尝试过用引号、大括号等将其括起来,但我无法做到这一点。

你现在的做法应该可以:

Container(
        decoration: BoxDecoration(
          color: const Color(0xff7c94b6),
          image: DecorationImage(
            image: AssetImage(_activity[activityNumber]['Image']),
            fit: BoxFit.cover,
          ),
        ),
      );

您是否考虑过使用Image.asset?类似于:
Image.asset(\u activity[activityNumber]['Image'])

您的工作方式应该是:

Container(
        decoration: BoxDecoration(
          color: const Color(0xff7c94b6),
          image: DecorationImage(
            image: AssetImage(_activity[activityNumber]['Image']),
            fit: BoxFit.cover,
          ),
        ),
      );

您是否考虑过使用Image.asset?类似于:
Image.asset(\u activity[activityNumber]['Image'])
Image.asset(\u activity[activityNumber]['Image'])
确实有效,但我能将其用于BoxDecoration吗?不,BoxDecoration Image需要一个DecorationImage。您的代码会出现什么样的错误?
Image.asset(\u activity[activityNumber]['Image'])
确实有效,但我能将其用于Box装饰吗?不,Box装饰图像需要一个装饰图像。你的代码会出现什么样的错误?