【发布时间】:2020-01-12 05:14:04
【问题描述】:
根据这个问题,我正在使用CustomPainter 绘制颤振:Flutter: How to paint an Icon on Canvas?
final icon = Icons.cake;
TextPainter textPainter = TextPainter(textDirection: TextDirection.rtl);
textPainter.text = TextSpan(
text: String.fromCharCode(icon.codePoint),
style: TextStyle(fontSize: 20.0, fontFamily: icon.fontFamily));
textPainter.layout();
textPainter.paint(canvas, Offset(200.0, 200.0));
这适用于 Material Design 图标。但是我想使用相同的技术来绘制 Font Awesome Icons。我正在使用font_awesome_flutter 8.5.0 package,这是我的代码:
final icon = Icon(FontAwesomeIcons.fish, size: 20, color: Colors.teal[700]);
TextPainter textPainter = TextPainter(textDirection: TextDirection.rtl);
textPainter.text = TextSpan(
text: String.fromCharCode(icon.codePoint),
style: TextStyle(fontSize: 20.0, fontFamily: icon.fontFamily));
textPainter.layout();
textPainter.paint(canvas, Offset(200.0, 200.0));
我从 IDE 收到一条消息,说“没有为类 'Icon' 定义 getter 'codePoint'”。请问如何解决这个问题?
【问题讨论】:
-
FontAwesomeIcons.fish.codePoint? -
谢谢@pskink,你帮我解决了这个问题。我还需要使用您的技术获取 fontFamily 和 fontPackage。
-
是的:你根本不需要
final icon = Icon(FontAwesomeIcons.fish, size: 20, color: Colors.teal[700]);
标签: flutter font-awesome codepoint