Изображение флаттера не отображается
Я хочу показать какое-то локальное изображение и отобразить его на экране следующим образом:
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/