根据在Flutter项目中包含图像资源的文档,我需要将它们添加到flutter:
assets:
- assets/my_icon.png
- assets/background.png
,如下所示:
.json
但我需要在我的应用程序中包含约900张图像,我是否真的需要在文件中逐个手动包含?
答案 0 :(得分:8)
遗憾的是,您无法一次导入整个资产/文件夹,但现在可以导入文件夹中的所有资产。
# ❌ 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/
答案 1 :(得分:3)
这不再是限制。现在,您可以将所有资产包括在目录中。
要在目录下包含所有资产,请在目录名末尾添加/字符:
flutter:
assets:
- assets/
答案 2 :(得分:2)
是的,目前这是必需的,也是一个已知的限制。
Wildcarding assets in pubspec.yaml (or allow an entire directory to be included) #4890
您可以使用代码生成来一次性列出所有资产, 但是当列表变得太长时你也会遇到麻烦。
答案 3 :(得分:0)
名为Flr(Flutter-R)的Flutter开发工具可以帮助您在pubspec.yaml中自动指定图像/文本/字体资源,并生成r.g.dart文件。
更多详细信息,请参见:https://stackoverflow.com/a/61200175/1505549