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

Flutter自定义图标使用求助:如何添加非内置图标(无需第三方库)

不依赖第三方库添加Flutter自定义图标方案

不用pub第三方库,也不用图片格式,直接用自定义字体图标就能解决,步骤如下:

  1. 制作自定义字体文件

    • 把需要的非内置图标(优先用SVG格式)整理好,保证每个图标的尺寸统一(比如和Flutter内置图标一致,设置viewBox="0 0 24 24")
    • 用本地开源工具(比如免费的FontForge)将这些SVG文件转换为.ttf格式的字体文件,导出后放到项目的assets/fonts文件夹中(没有该文件夹就新建)
  2. 配置项目的pubspec.yaml
    在项目的pubspec.yaml中添加字体资源配置:

    flutter:
      fonts:
        - family: CustomIcons
          fonts:
            - asset: assets/fonts/CustomIcons.ttf
    

    配置完成后执行flutter pub get让配置生效

  3. 定义自定义图标类(兼容现有代码)
    创建一个和你现有Icon类格式统一的类,填入每个自定义图标的Unicode编码(转换字体时工具会给出对应编码):

    class CustomIcons {
      static const IconData customDownload = IconData(0xe900, fontFamily: 'CustomIcons');
      static const IconData customShare = IconData(0xe901, fontFamily: 'CustomIcons');
      // 根据实际图标数量添加更多
    }
    
  4. 混合使用内置与自定义图标
    现在可以直接在原有代码中混用两种图标:

    // 使用Flutter内置图标
    Icon(Icons.home);
    // 使用自定义图标
    Icon(CustomIcons.customDownload);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:32:42