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

Flutter应用图标显示叉框问题求助(附配置及截图)

Flutter应用Akiba导航栏图标显示叉框问题

我正在开发一款名为Akiba的Flutter应用,目前遇到导航栏图标位置显示为叉框的问题。尝试添加自定义字体后仍无法解决该问题,相关截图及pubspec.yaml配置文件如下:

问题截图

导航栏显示叉框

pubspec.yaml配置

name: Akiba
description: "Your Personal Financial Planner"
publish_to: 'none'
version: 1.0.0+1

environment:
  sdk: ^3.6.2

dependencies:
  flutter:
    sdk: flutter
  lottie: ^3.3.1
  smooth_page_indicator: ^1.2.0+3
  fl_chart: ^0.70.2
  hive: ^2.2.3
  hive_flutter: ^1.1.0
  hive_generator: ^2.0.1
  build_runner: ^2.4.14
  intl: ^0.19.0
  uuid: ^4.5.1
  percent_indicator: ^4.2.4
  flutter_local_notifications: ^18.0.1 
  flutter_riverpod: ^2.6.1
  local_auth: ^2.3.0
  flutter_animate: ^4.5.2
  image_picker: ^1.1.2
  path_provider: ^2.1.5
  pdf: ^3.11.2
  share_plus: ^10.1.4
  printing: ^5.14.2
  device_info_plus: ^11.3.0
  flutter_launcher_icons: ^0.14.3
  emoji_picker_flutter: ^4.3.0
  timezone: ^0.10.0
  cupertino_icons: ^1.0.8
  google_fonts: ^6.2.1
  flutter_localization: ^0.3.1

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^5.0.0

flutter:
  assets:
    - assets/
    - assets/savings.json
    - assets/money_growth.json
    - assets/icon.png
    - assets/fonts/

  fonts:
    - family: NotoSans
      fonts:
        - asset: assets/fonts/NotoSans-Regular.ttf
    - family: NotoSansSymbols
      fonts:
        - asset: assets/fonts/NotoSansSymbols-Regular.ttf
    - family: NotoColorEmoji
      fonts:
        - asset: assets/fonts/NotoColorEmoji-Regular.ttf

uses-material-design: true

flutter_icons:
  image_path: 'assets/icon.png'
  android: true
  ios: true

解决方法

1. 验证字体文件有效性

  • 检查assets/fonts/目录下的字体文件是否存在,文件名、路径与pubspec配置完全匹配(注意大小写,iOS系统对大小写敏感)。
  • 尝试重新下载对应字体的完整包,排除文件损坏问题。

2. 确保图标字体正确引用

  • 如果使用Material图标:确认代码中调用的是Icons.xxx而非自定义字符,且uses-material-design: true已开启(你的配置已满足)。
  • 如果使用自定义符号字体:确保代码中指定了正确的字体家族,且字符存在于对应字体中,示例:
    Text('\uXXXX', style: TextStyle(fontFamily: 'NotoSansSymbols'));
    

3. 清理缓存重启项目

  • 执行flutter clean清除旧构建缓存。
  • 重启IDE和Flutter项目,触发资源和字体的重新加载。

4. 检查导航栏组件配置

  • 临时将导航栏图标替换为CupertinoIcons或Material默认图标,测试是否正常显示,排查是否是自定义图标本身的问题。

5. iOS额外配置

  • 在Info.plist中添加UIAppFonts数组,将自定义字体文件名加入其中,示例:
    <key>UIAppFonts</key>
    <array>
      <string>NotoSans-Regular.ttf</string>
      <string>NotoSansSymbols-Regular.ttf</string>
    </array>
    
  • 执行flutter pub get后重新构建iOS项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 02:10:00