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

Flutter使用flutter_emoji库时emoji显示效果不符预期该如何解决

问题原因

flutter_emoji包的Emoji是封装类,你直接将类实例插入字符串拼接时,Dart会默认调用实例的toString()方法,输出的是类实例标识,不会直接返回emoji字符,因此显示异常。

修复方案

方案1:调用Emoji实例的code属性获取表情字符

修正后的代码如下:

import 'package:flutter_emoji/flutter_emoji.dart';

var heart  = Emoji('heart', '❤️');
// 从Emoji实例中取code属性获取真实表情字符
Text(" Play me ${heart.code}");

方案2:使用包自带的解析器简化调用

你也可以直接用包提供的EmojiParser处理字符串,不需要手动实例化Emoji对象:

import 'package:flutter_emoji/flutter_emoji.dart';

var parser = EmojiParser();
// 方式1:通过表情名获取
var heart = parser.get('heart');
Text(" Play me ${heart.code}");

// 方式2:直接解析带表情占位符的字符串
Text(parser.emojify("Play me :heart:"));

方案3:无需第三方包的原生实现

Flutter的Text组件本身已支持直接渲染emoji字符,如果你的需求只是展示固定emoji,完全可以不用引入第三方依赖,直接写表情即可:

Text(" Play me ❤️");

异常显示效果参考

emoji显示效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 08:27:05