【问题标题】:Multiple assets in Flutter projectFlutter 项目中的多个资产
【发布时间】:2018-03-24 17:15:50
【问题描述】:

根据文档在 Flutter 项目中包含图像资产,我需要将它们添加到 pubspec.yaml,如下所示:

flutter:
  assets:
   - assets/my_icon.png
   - assets/background.png

但是我有大约 900 张图像需要包含在我的应用程序中,我真的需要手动将文件中的一张一张添加到文件中吗?

【问题讨论】:

    标签: flutter


    【解决方案1】:

    遗憾的是,您无法一次导入整个 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/
    

    【讨论】:

      【解决方案2】:

      这不再是限制。您现在可以将所有资产包含在一个目录中。

      flutter docs 中声明:

      要包含目录下的所有资产,请以 / 字符结尾指定目录名称:

      flutter:
        assets:
          - directory/
          - directory/subdirectory/
      

      【讨论】:

      【解决方案3】:

      是的,目前这是必需的,并且是已知的限制。

      Wildcarding assets in pubspec.yaml (or allow an entire directory to be included) #4890

      您可以使用代码生成来一次性列出所有资产, 但是当列表变得太长时,您也会遇到麻烦。

      【讨论】:

      • 查看下面的答案,现在允许通过 assets/ 不指定
      【解决方案4】:

      名为 Flr(Flutter-R) 的 Flutter 开发工具可以帮助您在 pubspec.yaml 中自动指定图像/文本/字体资源并生成 r.g.dart 文件。

      更多详情见:https://stackoverflow.com/a/61200175/1505549

      【讨论】:

        猜你喜欢
        • 2016-08-02
        • 2012-07-22
        • 2013-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多