41

这是我的 pubspec.yaml 文件的摘录:

flutter:
  uses-material-design: true
  fonts:
   - family: Coiny
     fonts:
       - asset: fonts/Coiny-Regular.ttf

我正在尝试使用 Google 字体页面中名为“Coiny”的字体。我在根目录中创建了一个字体文件夹并将其放入其中。

在我的代码中,我这样做:

new Text("Testtext", style: new TextStyle(fontFamily: "Coiny")),

但它没有效果。我过去在使用 Barrio 字体时遇到过类似的问题。但它似乎在一段时间后起作用,这不是这种情况。

4

15 回答 15

91

您可能想尝试从设备中删除该应用程序并重新安装它。根据您的启动方式,它可能不会覆盖旧的安装文件。

于 2017-06-05T10:08:33.620 回答
7

我遇到过同样的问题。如果您通过模拟器进行测试,您只需停止并重新启动它。通过 VSCode 您可以停止运行过程(右上角的红色方块)然后run->Run without debuggingStart Debugging

于 2020-09-11T03:17:09.397 回答
3

我本来font:就不对下flutter:。我将这部分移到font:flutter:,然后开始工作。

flutter:

  fonts:
    - family: Test
      fonts:
      - asset: assets/fonts/Font-Test.ttf
于 2020-09-19T06:39:13.413 回答
2

字体声明对齐方式与 Flutter pubspec.yaml 不同。它应该如下所示。

fonts:
      - family: Coiny
        fonts:
          - asset: fonts/Coiny-Regular.ttf

你可以在这里查看

于 2018-07-28T06:41:19.223 回答
2

您已经在应用程序中添加了新文件,因此您必须关闭正在运行的设备,然后重新启动模拟器。

- 停止正在运行的模拟器 - 运行模拟器

它适用于我的情况。

于 2020-04-29T18:07:07.403 回答
2

每当您对文件进行更改时pubspec.yaml,最好从 IDE 中停止正在进行的 dart 进程并完全重新启动。

如果您进行热重载或热重启,引擎可能无法将新添加的数据提取到您的文件中。如果没有任何效果,您应该使用@Collin 回答,卸载并重新安装该应用程序。

于 2019-09-09T17:53:32.587 回答
2

只需从您的 android 设备上卸载以前的颤振应用程序 apk 并再次运行应用程序。这将解决您的问题。如果这不起作用,请清除设备缓存并重试。

于 2020-04-05T04:23:04.520 回答
0

我尝试了所有方法,但 pubspec.yaml 中的更改没有任何区别。然后我创建了一个新项目。将字体文件复制到相应的文件夹,对 pubspec.yaml 进行所有更改,将代码粘贴到我的 main.dart 文件中。我确保一切就绪,然后在模拟器和中提琴中运行项目,所有字体都完美呈现。

于 2018-11-24T11:18:39.943 回答
0

就我而言,字体资产文件已损坏。首先尝试将它们安装在本地计算机上。如果它给您一个错误,那么它们已损坏。

于 2021-07-24T08:18:23.577 回答
0

我遇到了字体问题并收到以下两个警告:

Warning: No fonts specified for font [font family name]
Warning: Missing family name for font.

问题是我pubspec.yaml fonts输入了错误的部分。

确保你pubspec.yaml看起来像这样:

flutter:

  fonts:
    - family: FontFamily
      fonts:
      - asset: fonts/Font-Medium.ttf

  uses-material-design: true

然后,您将需要flutter clean然后flutter pub get. 如果所有这些都失败了,请尝试卸载该应用程序,然后在执行上述操作后再次重新安装(如 Collin 所述)。

我在嵌套声明旁边有一个“-” fonts,这导致了这些错误(并且字体不起作用)。

于 2020-09-06T17:03:29.913 回答
0

我也遇到了这个问题,设置字体B后,显示不正确。但对我来说问题是我在两个字体系列之间做了一条空线,如下所示

  fonts:
    - family: A
      fonts:
        - asset: assets/fonts/A-Regular.ttf

    - family: B
      fonts:
        - asset: assets/fonts/B-Regular.ttf

删除两个字体系列之间的空行,这对我来说是可行的解决方案,请记住 YAML 对缩进敏感

于 2021-09-15T08:18:41.207 回答
0

Idek,有时我发现您需要完全杀死您的模拟器或设备并重新安装才能使某些字体正常工作。我还发现某些字体只是拒绝工作。尝试使用不同的字体来确认您的 pubspec 和 TextThemes 对于已知的工作字体实际上是正确的。

于 2020-02-22T06:09:39.847 回答
0

我还有另一个原因。考虑从姓氏中删除空格。例如,使用"MavenPro"而不是"Maven Pro"

还要检查您将字体部分放入颤振部分。

于 2019-09-10T01:32:50.783 回答
0

1.检查压痕。每个子属性从左边算起2 个空格。不要使用制表符空格。

2.停止dart文件执行并尝试冷启动模拟器。

3.尝试热重启。

请参阅YouTube 教程。

于 2021-07-05T06:40:27.987 回答
0

在 pubspec.yaml 中设置

 fonts:
  - family: Montserrat
    fonts:
      - asset: assets/fonts/Montserrat-Regular.ttf
      - asset: assets/fonts/Montserrat-Bold.ttf


    and then make sure that clean and build
于 2020-09-06T06:42:04.273 回答