android - Flutter 不选择基于 fontWeight 的自定义字体

如何在不为每个粗细指定新系列的情况下选择不同的字体粗细?

  fonts:
 - family: Montserrat
   fonts:
     - asset: assets/fonts/Montserrat-Regular.ttf
       weight: 100
     - asset: assets/fonts/Montserrat-Bold.ttf
       weight: 700
 - family: MontserratBold
   fonts:
     - asset: assets/fonts/Montserrat-Bold.ttf

和小部件:

                      child: Text(
                    'TEST',
                    style: TextStyle(
                      fontSize: 17.4,
                      fontFamily: 'Montserrat',
                      fontWeight: FontWeight.w700,
                      color: Colors.black87,
                    ),
                  ),

..

                      child: Text(
                    'TEST2',
                    style: TextStyle(
                        fontSize: 17.4,
                        fontFamily: 'MontserratBold',
                        color: Colors.black87),
                  ),

实际的 Montserrat-Bold 仅与“TEST2”一起使用。我尝试在 pubspec.yaml 中使用“Packages get”并重新启动应用程序。

最佳答案

来自 the docs我们得到这个常量列表:

w100 Thin, the least thick
w200 Extra-light
w300 Light
w400 Normal / regular / plain
w500 Medium
w600 Semi-bold
w700 Bold
w800 Extra-bold
w900 Black, the most thick

所以在 pubspec 中你可以像这样定义你的自定义字体:

  fonts:
   - family: Montserrat
     fonts:
       - asset: fonts/Montserrat-Regular.ttf
       - asset: fonts/Montserrat-SemiBold.ttf
         weight: 600
       - asset: fonts/Montserrat-Bold.ttf
         weight: 700

并像这样在您的代码中使用它:

final h1 = new TextStyle(
    fontSize: 24.0, 
    fontWeight: FontWeight.w600  // semi-bold
);

https://stackoverflow.com/questions/53687104/

相关文章:

dart - 如何在 flutter 图像选择器中将图像添加到 Firestore

asynchronous - 在特定时间等待 future

string - Flutter:是否可以仅在传递给文本小部件之前在字符串中格式化(粗体、斜体等)?

android - 路由后,TextField 单击重建/重新加载小部件

android - Flutter:如何让外部应用程序打开文件(如Android的隐式 Intent

ios - 如何在 Flutter 中实现可滚动的 Canvas ?

listview - flutter listView.Builder 隐藏最后一个列表项的分隔符

dart - 带有命名路线的 flutter 持久导航栏?

dart - Flutter 能否免去使用 mac 来创建 IOS 应用程序?

android - 如何在 Flutter 中使用设备的默认字体?