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)),
);
}
在我尝试过的事情中(多次):
我假设pubspec.yaml文件存在问题,但我看不出它可能是什么。
任何建议都将不胜感激。谢谢。
编辑:刚刚尝试使用相同的Pubspec.yaml字体信息创建一个新的默认Flutter应用。我将自定义字体添加到MaterialApp小部件,并且可以正常工作...所以问题可能出在Yaml上。
如果使用的是vs代码,则可以在终端上运行以下命令:flutter run --enable-software-rendering
。那应该可以解决问题。
这些是在向应用中添加自定义字体时需要遵循的步骤。
[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"))
我遇到了同样的问题,并且找到了答案。似乎ios文件夹和android文件夹是使用字体以某种方式所必需的。我不知道为什么需要它,但这是“字体作品”和“不需要”之间的唯一区别。
[目前,我只关注WEB,因此我删除了ios文件夹和android文件夹。我认为,从现在开始,我将这些文件夹保留为护身符。
尝试在模拟器中重新安装apk