【问题标题】:Flutter: Material icons not showing when importing a custom FontFlutter:导入自定义字体时不显示材质图标
【发布时间】:2022-01-27 20:12:07
【问题描述】:

每次我尝试为我的应用定义新的自定义字体时,FLutter Icon(Icons.access_alarms) 中的原始 Material Icons 都会停止工作。

我所做的是正确导入pubspec.yamlfile 中的字体,包括“uses-material-design:true”并使用fontFamily 属性在主ThemeData 中定义字体。


flutter:
  uses-material-design: true
  assets:
    - images/
  fonts:
    - family: Core Sans C
      fonts:
        - asset: Fonts/coresansc-45regular-webfont.ttf
          style: normal
          weight: 500

screenshot of the pubspec.yaml including the font definition

ThemeData kThemeLB = ThemeData(
    fontFamily: 'Core Sans C',
    backgroundColor: kBgColor1,
    primaryColor: kMainColor,
    // primarySwatch: kMainColor,
    textTheme: const TextTheme(
      bodyText1: TextStyle(
        color: kSecondaryColor,
      ),
    ),
    scaffoldBackgroundColor: kBgColor1);

还有我的main.dart

Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: kThemeLB,
      home: LoadLogin(),

我的字体目录

Fonts dir

我可以正确使用 FontAwesome Icons,但我仍然想知道问题出在哪里。

我一直在寻找解决方案很长时间,但我似乎无法弄清楚这里有什么问题。非常感谢任何帮助!

【问题讨论】:

  • 请分享您的字体目录,我需要查看字体名称及其结构
  • @FelipeVergara 完成

标签: flutter


【解决方案1】:

尝试将文件移动到资产目录中,例如:

 - assets
 -- fonts
 --- **"your fonts inside fonts dir"**

然后修改您的 pubspec 文件,如下所示:

fonts:
 - family: coreSansC
 - fonts:
   - asset: assets/fonts/coresansc-45regular-webfont.ttf

最后修改你的ThemeData,像这样:

ThemeData kThemeLB = ThemeData(
    fontFamily: 'coreSansC',
    backgroundColor: kBgColor1,
    primaryColor: kMainColor,
    // primarySwatch: kMainColor,
    textTheme: const TextTheme(
      bodyText1: TextStyle(
        color: kSecondaryColor,
      ),
    ),

我建议你使用驼峰命名。

【讨论】:

  • 恐怕没用。 Core Sans C 字体加载正常,问题是它破坏了我的 Material Icons。
  • 请分享错误信息,以帮助
  • 实际上它现在可以工作了,经过一次硬停止和扑腾清洁,谢谢!
猜你喜欢
  • 2017-11-06
  • 2020-07-01
  • 2020-06-01
  • 2021-10-31
  • 1970-01-01
  • 2021-04-06
  • 2020-12-21
  • 2021-12-09
  • 1970-01-01
相关资源
最近更新 更多