Flutter中USDT符号₮在Android端无法正常显示问题求助
解决Flutter中Android端USDT符号₮显示为矩形框的问题
问题原因
Android系统默认字体(如部分版本的Roboto)未包含泰达币符号对应的Unicode字符U+20AE,导致字符无法渲染,显示为矩形占位框;而iOS系统字体(San Francisco)原生支持该字符,所以显示正常。
解决方案
1. 引入支持该字符的自定义字体
这是最直接的解决方案:
- 选择一款包含
U+20AE字符的字体(如Noto Sans、完整版本的Roboto等),将字体文件(例如NotoSans.ttf)放到项目的assets/fonts目录下。 - 在
pubspec.yaml中配置字体:flutter: fonts: - family: NotoSans fonts: - asset: assets/fonts/NotoSans.ttf - 在Text组件中指定该字体:
Text( "₮", // 或 "\u20AE" style: TextStyle(fontFamily: 'NotoSans'), )
2. 使用SVG/自定义图标替代字体
如果不想引入额外字体,可以将USDT符号制作成SVG文件或自定义图标:
- 将₮符号导出为SVG文件,放到
assets目录中。 - 使用
flutter_svg库加载SVG(需先在pubspec.yaml中添加依赖):SvgPicture.asset( 'assets/usdt_symbol.svg', height: 20, width: 20, color: TextStyle.of(context).color, // 匹配文本颜色 )
内容的提问来源于stack exchange,提问作者Erfan Eghterafi
相关产品推荐
相关产品推荐

