【问题标题】:Flutter: how to paint a Font Awesome Icon?Flutter:如何绘制 Font Awesome 图标?
【发布时间】: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


【解决方案1】:

感谢@pskink 帮助我找出这个答案:

final fishCodePoint = FontAwesomeIcons.fish.codePoint;
print('The codePoint is $fishCodePoint');
final fishFontPackage = FontAwesomeIcons.fish.fontPackage;
print('The fontPackage is $fishFontPackage');
final fishFontFamily = FontAwesomeIcons.fish.fontFamily;
print('The fontFamily is $fishFontFamily');

TextPainter textPainter = TextPainter(textDirection: TextDirection.rtl);
textPainter.text = TextSpan(
    text: String.fromCharCode(fishCodePoint),
    style: TextStyle(
        fontSize: 40.0,
        fontFamily: fishFontFamily,
        package: fishFontPackage));

textPainter.paint(canvas, Offset(50.0, 50.0));

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 2016-06-04
    • 2014-12-27
    • 1970-01-01
    • 2020-12-15
    • 2022-08-08
    • 2019-12-31
    • 1970-01-01
    • 2021-12-22
    相关资源
    最近更新 更多