Использование карты с AssetImage - PullRequest
0 голосов
/ 06 мая 2020

У меня есть сценарий, в котором я хотел бы загрузить изображение на основе текста, выбранного для отображения в приложении.

Например, у меня есть карта, которая выглядит так:

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,
),

Я также пытался заключить это в кавычки, фигурные скобки и т. д. c, но я не могу заставить это работать.

1 Ответ

2 голосов
/ 06 мая 2020

То, как вы это делаете, должно работать:

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

Думали ли вы об использовании Image.asset? Примерно так: Image.asset(_activity[activityNumber]['Image'])

...