原文链接:https://stackoverflow.com/questions/50903106/add-image-in-flutter-app
创建assets/images
文件夹
- assets文件夹位于工程的根目录,与
pubspec.yaml
文件同级。 - Android Studio中,可以右键单击项目视图。
- 不需要命名为
asstes
或者images
,甚至不需要把images弄成子文件夹。无论用什么名字,它都必须在pubspec.yaml
文件中注册。
新文件夹中添加图片
- 只需要拷贝图片到
assets/images
中。例如,lake.jpg
的相对路径是assets/images/lake.jpg
。
在pubspec.yaml
中注册assets文件夹
- 打开项目的
pubspec.yaml
文件。 - 给
flutter
部分添加一个assets
子部分,如下:
flutter: assets: - assets/images/lake.jpg
- 如果有多个图片需要添加,可以只写路径名(包括最好一个/):
flutter: assets: - assets/images/
使用图片
-
使用
Image.asset('assets/images/lake.jpg')
获取Image小部件中的资源。 -
完整的
main.dart
文件如下:
import 'package:flutter/material.dart'; void main() => runApp(MyApp()); // the root widget of our application class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text("Image from assets"), ), body: Image.asset('assets/images/lake.jpg'), // <--- image here ), ); } }
重启应用
每次修改pubspec.yam文件后,总是需要完全停止应用并重启它,特别是添加assets后。否则会崩溃。
启动应用,效果如下:
进一步阅读
请参阅文档,了解如何为不同像素密度提供备用图像。