Flutter自定义字体无法加载

时间:2018-10-26 00:51:10

标签: flutter

已解决:我仍然不确定问题是什么,但是我通过简单地创建一个新的Flutter项目,在新项目中设置字体,然后粘贴我的方法来解决此问题。 .dart文件进入新项目。即使一切都完全相同(据我所知),它也可以正常工作。去搞清楚。


我试图在我的应用程序中使用自定义字体,但没有成功。

这是我的pubspec.yaml文件的字体部分:

fonts:
  - family: Muli
    fonts:
      - asset:  fonts/Muli-Light.ttf

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

在我的应用中:

Widget _sectionTitle(String text) {
  return Container( 
  padding: EdgeInsets.fromLTRB(25.0, 0.0, 25.0, 5.0),
  child: Text(text,          
  style: new TextStyle(fontFamily: 'Muli', fontSize: 50.0),
  ));
  }
Widget _sectionText(String text){
    return Container (
    padding: EdgeInsets.fromLTRB(25.0, 0.0, 25.0, 15.0),
    child: Text(text, style: TextStyle(fontFamily: 'LibreBaskerville', fontSize: 20.0)),
    );
 }

在我尝试过的事情中(多次):

  • 从模拟器中删除已安装的文件
  • 从Android Studio运行与从VSCode运行
  • 将.ttf文件移动到其他文件夹
  • 下载其他字体
  • 使用在线YAML验证器
  • 干净整洁

我假设pubspec.yaml文件存在问题,但我看不出它可能是什么。

任何建议将不胜感激。谢谢。

编辑:刚刚尝试使用相同的Pubspec.yaml字体信息创建一个新的默认Flutter应用。我将自定义字体添加到MaterialApp小部件,并且可以正常工作...所以问题可能出在Yaml上。

7 个答案:

答案 0 :(得分:7)

从测试设备中删除该应用,然后进行清理干净,然后重新运行

flutter clean

答案 1 :(得分:1)

如果使用vs代码,则可以在终端上运行以下命令: flutter run --enable-software-rendering。 那应该可以解决问题。

答案 2 :(得分:0)

以下是将自定义字体添加到应用程序时需要遵循的步骤。

第1步:将字体文件(Abc.ttf)放在资源文件夹中(如果您没有字体文件,则可能需要自己创建)

步骤2 :打开您的pubspec.yaml文件并添加此文件(保持空格跟踪

  fonts:
   - family: MyFont
     fonts:
       - asset: assets/Abc.ttf

步骤3 :在终端中运行flutter packages get(或在IDE中使用Packages get选项)

第4步:像这样在代码中使用自定义字体

Text("Example", style:TextStyle(fontFamily: "MyFont")) 

答案 3 :(得分:0)

我遇到了同样的问题,并且找到了答案。 似乎ios文件夹和android文件夹是使用字体以某种方式所必需的。 我不知道为什么需要它,但这是一个“字体作品”和“不需要”之间的唯一区别。

当前,我只关注WEB,因此删除了ios文件夹和android文件夹。 我认为,从现在开始,我将这些文件夹保留为护身符。

答案 4 :(得分:0)

我知道这很老了,但以防万一有人遇到这个:

我遇到了类似的问题,资产图像无法在一个项目中加载,而在另一个项目中加载另一个却没有问题,所有内容显然都以相同的方式配置。

问题是它不能正常工作的是一个颤振包项目。在这里,您需要明确指定资产图像和资产字体的包名。

在这里查看我的详细回答:https://stackoverflow.com/a/67526610/8539278

答案 5 :(得分:-1)

尝试在模拟器中重新安装APK

答案 6 :(得分:-1)

字体文件放置在:-项目/资产/ poppins / *

pubspec.yamal

  fonts:
    - family: Poppins
      fonts:
        - asset: assets/fonts/poppins/Poppins-Regular.ttf
        - asset: assets/fonts/poppins/Poppins-Light.ttf
          weight: 300
        - asset: assets/fonts/poppins/Poppins-Regular.ttf
        - asset: assets/fonts/poppins/Poppins-Medium.ttf
          weight: 600
        - asset: assets/fonts/poppins/Poppins-Regular.ttf
        - asset: assets/fonts/poppins/Poppins-Bold.ttf
          weight: 800
        - asset: assets/fonts/poppins/Poppins-Regular.ttf
        - asset: assets/fonts/poppins/Poppins-ExtraBold.ttf
          weight: 900

有时字体不会在热重装时被装上。尝试重新启动您的应用并检查DEBUG CONSOLE。