小编Nas*_*sky的帖子

Flutter 初始化时带有错误表情符号的文本小部件

我想使用 Flutter 在文本小部件中显示表情符号。

\n\n

当我从互联网复制示例表情符号时,其中一些在我的 IDE 中显示为 2 个字符。

\n\n

例如:

\n\n
static String dualCharEmoji = "\xe2\x9a\x94\xef\xb8\x8f";\nstatic String singleCharEmoji = "";\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我在文本小部件中使用此变量时,它们都工作正常:

\n\n
Text("\xe2\x9a\x94\xef\xb8\x8f",)\nText("",)\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,仅在首次运行应用程序时,双字符表情符号仅显示为其第一个字符。

\n\n

即仅当第一次打开应用程序时,剑图标显示为\xe2\x9a\x94而不是\xe2\x9a\x94\xef\xb8\x8f

\n\n

重新加载后,它会得到修复,并且热重新加载/热重启不会再次导致错误。

\n\n

我的问题是:

\n\n

这是一个错误吗?我在这里遗漏了一些细节吗?为什么只有第一次打开应用程序时才会出现这种情况?

\n\n

如何从一开始就显示 2 尺​​寸的表情符号?

\n\n

我正在使用以下 Flutter 版本:

\n\n
>flutter --version\nFlutter 1.9.1+hotfix.4 \xe2\x80\xa2 channel stable \xe2\x80\xa2 https://github.com/flutter/flutter.git\nFramework \xe2\x80\xa2 revision cc949a8e8b (9 weeks ago) \xe2\x80\xa2 2019-09-27 15:04:59 -0700\nEngine \xe2\x80\xa2 revision b863200c37\nTools \xe2\x80\xa2 Dart 2.5.0\n
Run Code Online (Sandbox Code Playgroud)\n\n

请参阅下面的最小可重现示例:

\n\n
import \'package:flutter/material.dart\';\n\nvoid main() => …
Run Code Online (Sandbox Code Playgroud)

emoji dart flutter

5
推荐指数
1
解决办法
1318
查看次数

标签 统计

dart ×1

emoji ×1

flutter ×1