You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Web:如何用设备默认字体替代加载超大NotoSansSC字体

解决Flutter 3.29+ Web构建时自动加载NotoSansSC大字体的问题

方法1:替换默认字体为系统字体

在MaterialApp或CupertinoApp的主题配置中,指定系统自带字体作为默认字体,替代Flutter默认的NotoSansSC:

MaterialApp(
  theme: ThemeData(
    // 使用跨平台通用的系统无衬线字体
    fontFamily: 'sans-serif',
    // 也可针对中文场景指定轻量化系统字体
    // fontFamily: 'PingFang SC, Microsoft YaHei, sans-serif',
  ),
  home: const YourHomePage(),
);

配置后Flutter会优先调用系统已安装字体,不会从fonts.gstatic.com下载NotoSansSC。

方法2:禁用字体回退机制

Flutter Web默认会在找不到指定字体时加载NotoSansSC作为回退,可通过清空字体回退列表阻止该行为:

MaterialApp(
  theme: ThemeData(
    textTheme: TextTheme(
      displayLarge: TextStyle(fontFamilyFallback: []),
      displayMedium: TextStyle(fontFamilyFallback: []),
      displaySmall: TextStyle(fontFamilyFallback: []),
      headlineLarge: TextStyle(fontFamilyFallback: []),
      headlineMedium: TextStyle(fontFamilyFallback: []),
      headlineSmall: TextStyle(fontFamilyFallback: []),
      titleLarge: TextStyle(fontFamilyFallback: []),
      titleMedium: TextStyle(fontFamilyFallback: []),
      titleSmall: TextStyle(fontFamilyFallback: []),
      bodyLarge: TextStyle(fontFamilyFallback: []),
      bodyMedium: TextStyle(fontFamilyFallback: []),
      bodySmall: TextStyle(fontFamilyFallback: []),
      labelLarge: TextStyle(fontFamilyFallback: []),
      labelMedium: TextStyle(fontFamilyFallback: []),
      labelSmall: TextStyle(fontFamilyFallback: []),
    ),
  ),
  home: const YourHomePage(),
);

也可通过全局样式简化配置,确保所有文本组件继承空回退列表:

MaterialApp(
  theme: ThemeData.from(
    colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
  ).copyWith(
    textTheme: ThemeData.from(
      colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
    ).textTheme.apply(fontFamilyFallback: []),
  ),
  home: const YourHomePage(),
);

方法3:构建后手动移除字体引用(临时方案)

若代码配置无效,可在执行flutter build web后,打开web/index.html删除指向fonts.gstatic.com的NotoSansSC加载脚本;或在生成的main.dart.js中搜索并移除相关字体URL。此方法需每次构建后重复操作,仅适合临时应急。

内容的提问来源于stack exchange,提问作者Hans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 08:40:59