如何解决Flutter / Dart以编程方式unicode字符串
我有我的应用程序的自定义图标列表,如下所示设置为IconData,请注意codePoint
(0xe931)。
IconData angry_face = IconData(0xe931,fontFamily: _fontFamily);
这没什么不对,但是在某些情况下,我需要将此图标作为Unicode字符串用作文本。它应该像这样完成:
// It works too
Text('\ue931',style: TextStyle(fontFamily: _fontFamily));
问题是:
我不想手动使用此代码,因为设计人员团队会不断更改此图标,有时它也会更改其代码,使我的应用程序图标混乱。我需要做的是获取图标对象并将其解析为Unicode字符串,以便可以将其与Text小部件一起使用。
我认为这样做可以以编程方式获取该代码并仅使用它,但事实并非如此:
var iconcode = iconData.codePoint.toRadixString(16);
var result;
// Error: An escape sequence starting with '\u'
// must be followed by 4 hexadecimal digits or
// from 1 to 6 digits between '{' and '}'
result = '\u$iconcode';
// Just a simple string
result = '\\u$iconcode';
简而言之:如何以编程方式将codePoint解析为有效的Unicode字符串?
解决方法
这是正确的答案。我尝试了一切,但是...谢谢@ julemand101
final result = String.fromCharCode(iconData.codePoint);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。