【发布时间】:2021-10-31 18:36:07
【问题描述】:
我有一个由许多不同的 Dart 和 Flutter 包组成的应用程序。 事实证明,这很有用,因为我能够将字体、颜色和小部件等内容移动到独立的样式指南包中,然后我们可以在所有其他应用程序中使用它。
在包works slightly differently in Flutter 中使用自定义字体,因为我们需要将assets 目录添加为lib 的子目录而不是兄弟目录:
...然后像这样在pubspec.yaml注册这些资产:
assets:
- packages/receipt_widget/assets/fonts/my_font.ttf
// other asset declarations
这对于自定义字体和图标(png、jpg 等)完全可以正常工作。我的问题是同样的方法不适用于自定义图标字体。
步骤:
- 使用IcoMoon 或Flutter Icon 生成自定义图标字体
- 如上所示将生成的字体放入
assets/fonts目录 - 将生成的dart文件放到
lib文件夹中 - 在代码中引用自定义图标并将其放入
Icon小部件中,如下所示:
Icon(MyFontIcon.ic_heart);
为了安全起见,我运行 flutter clean 并在部署干净的构建之前从设备/模拟器中卸载应用程序。
然后我会留下一个问号而不是引用的图标。
注意。当直接在 Flutter 应用程序中而不是在包中使用时,相同的图标可以正常工作。
【问题讨论】:
标签: flutter flutter-dependencies pubspec