第八十六回:自定义字体图标

news/2024/11/19 11:16:34/

文章目录

  • 概念介绍
  • 实现方法
  • 示例代码
  • 相关推荐

我们在上一章回中字体图标相关的内容,本章回中将介绍 如何自定义字体图标.闲话休提,让我们一起Talk Flutter吧。

概念介绍

我们在本章回中说的自定义字体图标本质上是对字体图标进行封装,让它的使用方式和系统SDK中字体图标的使用方式完全一样。因此,本章回内容可以看作是对上一章回内容的扩展延伸。下面我们将介绍自定义图标的详细步骤。

实现方法

  1. 自定义一个字体图标类,通过该类来封装字体图标;
  2. 在类中通过静态常量成员封装字体图标,成员的类型是IconData;
  3. 在Icon组件中直接使用类中静态常量成员,这和系统SDK中的使用方式完全一致;

示例代码

///自定义图标类,方便在代码中直接使用
class CustomIcon {static const IconData char_e = const IconData(0x13ec, fontFamily: 'IconMoon', matchTextDirection: true,);static const IconData char_count = const IconData(0x2211, fontFamily: 'IconMoon', matchTextDirection: true,);static const IconData num_16 = const IconData(0x024f0, fontFamily: 'IconMoon', matchTextDirection: true,);static const IconData shap_3 = const IconData(0x2206, fontFamily: 'IconMoon', matchTextDirection: true,);
}
///使用自定义类中的字体图标,还可以修改图标和大小和颜色
Icon(CustomIcon.char_count,size: 40,color: Colors.purpleAccent,),

上面代码中只封装四个字体图标,其实文件中还有很多的字体图标,大家可以自己去封装。此外,我们还可以通过Iocn提供的属性来修改字体图标的大小和颜色。

编译并且运行上面的代码可以看到自定义字体图标中的数字,大家可以自己切换不同的字体图标,亲自体验一下自定义字体图标的过程。

相关推荐

在最后我们推荐一些好的字体图标,点击这里查看网站,该网站提供了很多开源的字体图标,不过在使用时需要遵守SIL开源协议。

选择某一类字体图标后可以下载到本地使用,字体图标的文件是ttf格式,它的使用方法我们在上一章回中介绍过了。该网站最大的优点是提供了自定义类,并且在类中封装了字体图标,类中静态常量成员的名字简洁明了,而且与ttf文件中的字体相匹配,我们可以代码中直接拿来使用。

Flttter社区也提供了好用的字体图标,他们把字体图标封装成了三方包,包名是:font_awesome_flutter。我们可以在yaml配置文件中导入该包,然后像使用系统SKD提供的字体图标一样去使用该包中的字体图标。包中图标的样式可以到官方网站中查看。

看官们,关于"自定义字体图标"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!


http://www.ppmy.cn/news/911925.html

相关文章

Html利用Canvas绘制图形

今天接到粉丝私信,询问是否可以通过Canvas绘制一些图形,然后根据粉丝提供的模板图,通过Canvas进行模拟绘制,通过分析发现,图形虽然相对简单,但是如果不借助相应的软件,纯代码绘制还是稍微费些时…

【Tensorflow】TensorFlow的嵌入layer和多层layer

计算图中的操作 # python 3.6 import tensorflow as tf import numpy as npsess tf.Session()# 将张量和占位符对象组成一个计算图,创建一个简单的分类器# 一、计算图中的操作 # 1. 声明张量和占位符,创建numpy数组,传入计算图操作 x_vals …

GitLab相关

配置:只对本台电脑生效。在Linux上的ssh-key对Linux的指定机器生效,在Windows机器add的对Windows机器生效,各配各的。 下面是在ubuntu上配置的: 1.账户配置 git config --global user.name "xxx" git config --glob…

YOLOv5加速部署:激斗tensorrtx踩坑指南!(win10+python/c++)

由于项目需要,近日来研究了一下yolov5的tensorrt的c/python部署,和各种小bug激斗了十余小时,但网络上的几乎所有教程都忽略了一些小细节,造成了很多的麻烦。但经本人不断试错,最终终于成功生成!本踩坑经验仅…

OpenGL--骨骼动画

理论基础 骨骼蒙皮动画其实现类似人体模型,由节点(关节)树构成,节点间通过骨骼连接,每块骨骼至多一个父节点,父节点带动子骨骼运动。具体是关节带动其对应子骨骼运动从而牵动绑定到其上的皮肤变化。骨骼是刚体不会变形&#xff0…

RSA2验签遭遇异常,请检查公钥格式是否正确。待验签内容不可为空

支付宝支付,上线突然出现这个问题。 2021-09-27 22:54:37 2021-09-27 14:54:37.348 [http-nio-5020-exec-7] INFO com.fastonetech.listener.OrderPayedListener - 支付宝回调,{} 2021-09-27 22:54:37 2021-09-27 14:54:37.348 [http-nio-5020-exec-7]…

POI和POI-TL操作Word

POI操作Word 操作依赖包org.apache.poi,包括poi和poi-ooxml。创建空白Word文件 void poiCreateNewWord() {String path "C:\\Users\\wisdom21111\\Desktop\\";XWPFDocument document new XWPFDocument();try {FileOutputStream out new FileOutputStr…

beagleboneblack(BBB)开发板使用NFS挂载根文件系统,tftp下载镜像与设备树

一、文件下载 交叉编译工具链下载地址 wget -c https://releases.linaro.org/components/toolchain/binaries/6.5-2018.12/arm-linux-gnueabihf/gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf.tar.xz beagleboneblack内核kernel下载地址,切换到tag为4.19.94-t…