在Flutter中显示国家/地区标志字符

时间:2019-07-12 02:23:31

标签: flutter dart

answer包含一些代码,可将语言环境转换为Java中的国家表情符号。我尝试在Dart中实现它,但没有成功。

我尝试将上面的代码转换为Dart

  void _emoji() {
    int flagOffset = 0x1F1E6;
    int asciiOffset = 0x41;

    String country = "US";

    int firstChar = country.codeUnitAt(0) - asciiOffset + flagOffset;
    int secondChar = country.codeUnitAt(1) - asciiOffset + flagOffset;

    String emoji =
        String.fromCharCode(firstChar) + String.fromCharCode(secondChar);
    print(emoji);
  }

“美国”语言环境应输出“??”

1 个答案:

答案 0 :(得分:1)

您发布的代码可以正常工作,即print(emoji)成功打印了??。

我认为您真正的问题是Flutter Text widget像这样显示它:

这是美国国旗,但是,我必须同意,当您在设备上看到它时,它看起来并不像它,因为它的字体很小,并且该国旗具有相当高的分辨率。

您需要使用以下命令use a custom font并将其应用于您的Text小部件:

Text(emoji,
  style: TextStyle(
    fontFamily: '...',
  ),
)

否则,转换和显示标志都可以正常工作。我相信它们看起来与您预期的有所不同。