Flutter - 自定义字体不显示

Flutter - Custom Font not displaying

这是我的 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 字体时遇到过类似的问题。但是过段时间好像有效果,这个不行。

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

字体声明对齐方式不符合 flutter pubspec.yaml。它应该像下面这样。

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

你可以看看here

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

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

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

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

同时检查你将 fonts 部分放入 flutter 部分。

Idek,有时我发现您需要完全关闭模拟器或设备并重新安装才能使某些字体正常工作。 我还发现有些字体无法正常工作。 尝试使用不同的字体以确认您的 pubspec 和 TextThemes 实际上与已知的工作字体正确无误。

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

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

-停止 运行ning 模拟器 -运行 一个模拟器

它适用于我的情况。

设置在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

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

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 声明旁边有一个“-”,它导致了这些错误(并且字体不起作用)。

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

font: 不在 flutter: 下面。我将 font: 部分移到 flutter: 下,然后开始工作。

flutter:

  fonts:
    - family: Test
      fonts:
      - asset: assets/fonts/Font-Test.ttf

1. 检查缩进。每个子属性从左边开始有2个空格。不要使用制表符。

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

3.尝试热重启。

请参阅 this YouTube 教程。

在我的案例中,字体资产文件已损坏。首先尝试在本地计算机上安装它们。如果它给你一个错误,那么它们已经损坏。

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

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

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

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