我知道如何在应用程序中添加自定义字体。但是对于 weight
和 style
感到困惑。
例如,如果我要在应用程序中添加 Montserrat
字体,而我的应用程序的asset文件夹只有 Montserrat-Regular.ttf
。因此,在 pubspec.yaml 文件中,我写了以下内容:
fonts:
- family: Montserrat
fonts:
- asset: asset/fonts/Montserrat-Regular.ttf
在 Text
widget 中,我使用了 3 种字体样式:正常、粗体和斜体,它们都能正常工作!
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'This is normal font',
style: TextStyle(
fontFamily: 'Montserrat',
),
),
SizedBox(height: 10),
Text(
'This is bold font',
style: TextStyle(
fontFamily: 'Montserrat',
fontWeight: FontWeight.bold
),
),
SizedBox(height: 10),
Text(
'This is italic font',
style: TextStyle(
fontFamily: 'Montserrat',
fontStyle: FontStyle.italic
),
),
],
)
所以,如果普通字体可用于加粗和斜体,则在官方教程中为什么要添加标签呢?请注意,保留html标记。
flutter:
fonts:
- family: Raleway
fonts:
- asset: fonts/Raleway-Regular.ttf
- asset: fonts/Raleway-Italic.ttf
style: italic
- family: RobotoMono
fonts:
- asset: fonts/RobotoMono-Regular.ttf
- asset: fonts/RobotoMono-Bold.ttf
weight: 700
Raleway-Italic.ttf 和 RobotoMono-Bold.ttf 是什么?他们应该只添加常规字体到资源中,然后我想就可以工作了?
另外,在上面的代码中,如果我设置
- 第一段文本 "fontWeight: FontWeight.w300"
- 第二段文本 "fontWeight: FontWeight.w500"
我找不到任何区别。
或者
如果我设置
- 第一段文本 "fontWeight: FontWeight.w600"
- 第二段文本 "fontWeight: FontWeight.w900"
我也找不到任何区别。
为什么呢,有谁能解释一下吗?