【发布时间】:2018-03-24 17:15:50
【问题描述】:
根据文档在 Flutter 项目中包含图像资产,我需要将它们添加到 pubspec.yaml,如下所示:
flutter:
assets:
- assets/my_icon.png
- assets/background.png
但是我有大约 900 张图像需要包含在我的应用程序中,我真的需要手动将文件中的一张一张添加到文件中吗?
【问题讨论】:
标签: flutter
根据文档在 Flutter 项目中包含图像资产,我需要将它们添加到 pubspec.yaml,如下所示:
flutter:
assets:
- assets/my_icon.png
- assets/background.png
但是我有大约 900 张图像需要包含在我的应用程序中,我真的需要手动将文件中的一张一张添加到文件中吗?
【问题讨论】:
标签: flutter
遗憾的是,您无法一次导入整个 assets/ 文件夹,但您现在可以导入文件夹内的所有资产。
# ❌ Don't Import every files inside assets folder, its tiring ❌
assets:
- assets/audio/celebrate.mp3
- assets/audio/splash.mp3
- assets/lottie/paper_plane.json
- assets/lottie/celebration.json
- assets/images/png/stats.png
- assets/images/alert.svg
# ❌ Import all assets at once,? Not allowed ❌
assets:
- assets/
# ✅ Just import every folders inside assets ✅
assets:
- assets/lottie/
- assets/images/svg/
- assets/images/png/
- assets/audio/
【讨论】:
这不再是限制。您现在可以将所有资产包含在一个目录中。
在flutter docs 中声明:
要包含目录下的所有资产,请以 / 字符结尾指定目录名称:
flutter:
assets:
- directory/
- directory/subdirectory/
【讨论】:
是的,目前这是必需的,并且是已知的限制。
Wildcarding assets in pubspec.yaml (or allow an entire directory to be included) #4890
您可以使用代码生成来一次性列出所有资产, 但是当列表变得太长时,您也会遇到麻烦。
【讨论】:
名为 Flr(Flutter-R) 的 Flutter 开发工具可以帮助您在 pubspec.yaml 中自动指定图像/文本/字体资源并生成 r.g.dart 文件。
【讨论】: