Flutter项目中的多个资产

时间:2018-03-24 17:15:51

标签: flutter

根据在Flutter项目中包含图像资源的文档,我需要将它们添加到flutter: assets: - assets/my_icon.png - assets/background.png ,如下所示:

.json

但我需要在我的应用程序中包含约900张图像,我是否真的需要在文件中逐个手动包含?

4 个答案:

答案 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/

请参见flutter docs on this

答案 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