未载入Flutter自定义字体

问题描述 投票:4回答:4

SOLVED:我仍然不确定问题是什么,但我通过简单地创建一个新的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上。

flutter
4个回答
2
投票

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


0
投票

这些是在向应用中添加自定义字体时需要遵循的步骤。

[Step-1:将字体文件(Abc.ttf)放在资产文件夹中(如果您没有字体文件,则可能必须自己创建)]

Step-2:打开pubspec.yaml文件并添加此文件(保持空格跟踪

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

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

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

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

0
投票

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

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


-2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.