如何使用 pubspec.yaml 资产系列中指定字体列表中的特定字体
How to use a specific font from a list of fonts specified in a asset family in pubspec.yaml
假设我在 pubspec.yaml 文件中添加了以下几行
字体:
fonts:
- family: GreatVibes
fonts:
- asset: fonts/GreatVibes-Regular.ttf
- asset: fonts/GreatVibes-Bold.ttf
我在我的应用程序中通过以下代码行使用它。
new Text('My New Font',
style: new TextStyle(
color: Colors.white,
fontFamily: 'GreatVibes',
fontSize: 16.0,
)),
我的问题是,在前面提供的两个.ttf文件中,flutter如何决定使用哪个文件?
假设 flutter 决定使用 GreatVibes-Bold.ttf,我该怎么做才能让它使用 GreatVibes-regular.ttf
检查这些链接:
如果我对这些字体的理解正确 - 它必须是这样的:
fonts:
- family: GreatVibes
fonts:
- asset: fonts/GreatVibes-Regular.ttf
- asset: fonts/GreatVibes-Bold.ttf
weight: 700
- asset: fonts/GreatVibes-Italic.ttf
style: italic
然后
new Text('My New Font',
style: new TextStyle(
color: Colors.white,
fontFamily: 'GreatVibes',
fontWeight: FontWeight.w700,
fontSize: 16.0,
)),
您可以直接将它用于小部件样式,或者使用主题对象,我更喜欢从一个位置控制整个应用程序,这里是 main.dart 的示例:
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.purple,
accentColor: Colors.deepOrange,
**fontFamily: 'Lato'**),
....
},
);
假设我在 pubspec.yaml 文件中添加了以下几行 字体:
fonts:
- family: GreatVibes
fonts:
- asset: fonts/GreatVibes-Regular.ttf
- asset: fonts/GreatVibes-Bold.ttf
我在我的应用程序中通过以下代码行使用它。
new Text('My New Font',
style: new TextStyle(
color: Colors.white,
fontFamily: 'GreatVibes',
fontSize: 16.0,
)),
我的问题是,在前面提供的两个.ttf文件中,flutter如何决定使用哪个文件?
假设 flutter 决定使用 GreatVibes-Bold.ttf,我该怎么做才能让它使用 GreatVibes-regular.ttf
检查这些链接:
如果我对这些字体的理解正确 - 它必须是这样的:
fonts:
- family: GreatVibes
fonts:
- asset: fonts/GreatVibes-Regular.ttf
- asset: fonts/GreatVibes-Bold.ttf
weight: 700
- asset: fonts/GreatVibes-Italic.ttf
style: italic
然后
new Text('My New Font',
style: new TextStyle(
color: Colors.white,
fontFamily: 'GreatVibes',
fontWeight: FontWeight.w700,
fontSize: 16.0,
)),
您可以直接将它用于小部件样式,或者使用主题对象,我更喜欢从一个位置控制整个应用程序,这里是 main.dart 的示例:
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.purple,
accentColor: Colors.deepOrange,
**fontFamily: 'Lato'**),
....
},
);