Изображение флаттера не отображается

Я хочу показать какое-то локальное изображение и отобразить его на экране следующим образом:

 Image(image: AssetImage('assets/images/addFood.png'))

Но я не вижу изображения на экране и вообще не получаю ошибок.

Вот что я сделал:

В моем pubspec.yaml Я добавил свою папку с изображениями вот так:

  assets:
    - lib/assets/images/

Изображение с названием "addFood" находится внутри images папку, как вы можете видеть здесь:

Я хочу вывести простой текст с изображением под ним, я вижу текст на экране и делаю это так:

  Widget build(BuildContext context) {

    if (favoriteMeals.isEmpty)

    return Column(children: <Widget>[
      Text('no favorites',style: Theme.of(context).textTheme.title,),
      Image(image: AssetImage('assets/images/addFood.png'))
    ]);

    else{
     ......
     ......
     ......
   }

Все, что я вижу, это текст без изображения:

решения, которые не помогли в моем случае:

AssetImage не отображает изображение в приложении Flutter

Добавление ресурсов и изображений

Маг не появляется при использовании "new Image.asset" внутри столбца

Как исправить и сделать так, чтобы изображение отображалось на экране?

3 ответа

Решение

Вам необходимо предоставить полный путь к активу при доступе к нему в коде. При доступе к активам ничего не подразумевается. Ваш фактический путьlib/assets/images/, но ты только делаешь assets/images/. Измените свой код, включив это:

Image(image: AssetImage('lib/assets/images/addFood.png'))

Должен быть

flutter:
   assets:
     - assets/images/

Удалите lib из пути pubspec.yaml. И чтобы получить изображение в коде,

Image.asset('assets/images/lake.jpg')

Обновить pubspec.yaml файл вроде этого

   assets:
     - directory/subdirectory/
Другие вопросы по тегам