导入自定义字体

时间:2018-04-29 12:02:11

标签: gradle fonts dart yaml flutter

我尝试将图标安装为自定义字体,但每当我尝试运行我的应用程序时,控制台都会告诉我pubspec.yaml文件中有错误。我的字体位置是:myapp / fonts / icomoon.ttf 这是pubspec.yaml文件的相关部分:

 fonts:
  - family:          icomoon
     fonts:
     -asset:        fonts/icomoon.ttf

我收到的错误信息是:

  

#/ properties / flutter / properties / fonts / items / properties / fonts:type:wanted [array] got {-asset:fonts / icomoon.ttf}构建资产时出错   对于   C:\ Users \用户merli \文件\项目\ WorkoutApp \ MYAPP \构建\应用\中间体\扑\调试/ app.flx

     

失败:构建因异常而失败。

  • 其中: 脚本' C:\ Users \ merli \ flutter \ packages \ flutter_tools \ gradle \ flutter.gradle'行:441

  • 出了什么问题: 任务执行失败':app:flutterBuildDebug'。

      

    处理'命令' C:\ Users \ merli \ flutter \ bin \ flutter.bat''完成非零退出值1

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。

  • https://help.gradle.org

  • 获取更多帮助

在4s内建立失败 完成错误:Gradle构建失败:1

4 个答案:

答案 0 :(得分:4)

使用YAML时,缩进和格式化非常重要(正如Gunther在评论中已经提到的那样)。我通过an online YAML parser运行了您的代码片段,发现了2个问题:

  • fonts:之前的1个额外空格,不应该存在
  • -asset:需要额外的空间- asset:。否则对于YAML,它只是一个恰好以-
  • 开头的字符串

您收到的错误告诉您,即使fonts需要一个数组,也会遇到其他问题(上面列表中的第二项)。

以下是我最终的正确表格:

 fonts:
  - family:          icomoon
    fonts:
     - asset:        fonts/icomoon.ttf

答案 1 :(得分:0)

当我尝试添加这样的 Roboto 字体时,我也有同样的行为:

  fonts:
    - family: Roboto
      fonts:
        - asset: fonts/Roboto-Regular.ttf
        - asset: fonts/Roboto-Bold.ttf
        - weight: 700

然后我意识到,我需要按“获取包”按钮(我使用的是 VSCode)。因此,添加后,请务必单击“获取包”按钮。

答案 2 :(得分:0)

添加字体资源后,在 assetspubspec.yaml 部分定义它,您应该重新构建您的项目运行 flutter packages get ,首先 这对我有用..

答案 3 :(得分:-1)

颤动:

生成:true

uses-material-design:true

资产:

- assets/images/
- assets/go-logo.png
- assets/fb-logo.png

字体:

- family: icomoon
    -asset icomoon.ttf
- family: Pacifico
    fonts
    -asset Pacifico-Regular.ttf