SOLVED :我仍然不确定问题是什么,但我通过简单地创建一个新的Flutter项目,在新项目中设置字体,然后将我的.dart文件粘贴到新项目中来修复它 . 即使一切都完全相同(据我所知),它运作良好 . 去搞清楚 .
我试图在我的应用程序中使用自定义字体但没有成功 .
这是我的pubspec.yaml文件的fonts部分:
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运行vs从VSCode运行
-
将.ttf文件移动到不同的文件夹
-
下载其他字体
-
使用在线YAML验证器
-
颤抖干净
我假设pubspec.yaml文件有问题,但我看不出它可能是什么 .
任何建议将不胜感激 . 谢谢 .
编辑:刚尝试使用相同的Pubspec.yaml字体信息创建一个新的默认Flutter应用程序 . 我将自定义字体添加到MaterialApp小部件,它可以工作......所以问题可能不是yaml .
1 回答
这些是在向应用添加自定义字体时需要遵循的步骤 .
步骤1:将您的字体文件(Abc.ttf)放在assets文件夹中(如果您没有,可能需要自己创建)
第2步:打开
pubspec.yaml
文件并添加( Keep track of spaces )步骤3:在终端中运行
flutter packages get
(或者在IDE中使用Packages get选项)第4步:在代码中使用自定义字体,如下所示