Flutter项目配置IRANSansX自定义字体后无法正常使用问题求助
Flutter IRANSansX 字体不生效排查方案
- 检查pubspec.yaml缩进正确性
yaml对缩进规则要求严格,必须保证fonts节点是flutter节点的二级子节点,每一级缩进统一使用2个空格,不得混用制表符,避免出现层级错误导致配置不被识别。 - 核对字体文件路径与拼写
确认配置中填写的字体文件路径、文件名和实际项目目录中的路径完全一致,注意区分大小写(iOS、Android、macOS环境对路径大小写敏感,Windows环境默认不敏感,容易出现本地调试正常打包后失效的问题)。 - 清除项目缓存后冷启动
执行flutter clean清除构建缓存,再执行flutter pub get重新拉取资源,完全卸载设备上已安装的应用后重新编译运行,不要使用热重载/热重启,避免缓存导致新配置不生效。 - 补全字体权重映射配置
你当前的配置仅声明了字体文件路径,没有指定每个字体文件对应的字重,Flutter无法根据Text组件的fontWeight属性匹配到对应的字体文件,会出现 fallback 到系统默认字体的问题,参考以下示例补全weight配置:flutter: fonts: - family: IRANSansX fonts: - asset: assets/fonts/IRANSansXFaNum-Black.ttf weight: 900 - asset: assets/fonts/IRANSansXFaNum-ExtraBold.ttf weight: 800 - asset: assets/fonts/IRANSansXFaNum-Bold.ttf weight: 700 - asset: assets/fonts/IRANSansXFaNum-DemiBold.ttf weight: 600 - asset: assets/fonts/IRANSansXFaNum-Medium.ttf weight: 500 - asset: assets/fonts/IRANSansXFaNum-Regular.ttf weight: 400 - asset: assets/fonts/IRANSansXFaNum-Thin.ttf weight: 200 - asset: assets/fonts/IRANSansXFaNum-UltraLight.ttf weight: 100 - 检查主题配置优先级
确认你设置的fontFamily是挂载到MaterialApp的theme属性上,如果同时配置了darkTheme也需要同步修改对应配置;排查局部Text组件是否单独设置了fontFamily属性覆盖了全局配置。 - 验证字体文件完整性
用字体预览工具打开你使用的ttf文件,确认文件本身没有损坏,可正常渲染字符。
内容的提问来源于stack exchange,提问作者siitaw
相关产品推荐
相关产品推荐

