flutter - 在 Flutter 中显示国旗字符

标签 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);
  }

“美国”语言环境应输出“🇺🇸”

最佳答案

您发布的代码工作正常,即 print(emoji) 成功打印 🇺🇸。

我假设您遇到的真正问题是 Flutter Text widget显示如下:

这是美国国旗,但是,我不得不承认,当您在设备上看到它时,它看起来不像它,因为字体非常小,而且国旗具有相当高的分辨率。

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

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

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

关于flutter - 在 Flutter 中显示国旗字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56999448/

相关文章:

sqlite - 用flutter中的sqlite数据库中的数据填充下拉菜单

flutter - 无效的参数:URL文件:///Trousers中未指定主机

无需 video_player 插件即可轻松播放本地视频

java - flutter 医生结果为 "cmdline-tools component is missing"

dart - Flutter - 翻牌效果

flutter - 为什么我们需要在有状态小部件中使用 didUpdateWidget 和 build 方法?

flutter - Flutter:如何通过ToggleButtons对ListView进行排序

flutter - 将 Flutter 小部件变换/平移到其宽度的负 50%

flutter - 我怎样才能将扁平按钮的大小设置为 child 的大小

loops - 如何在 dart/flutter 中停止/中断 forEach 循环?