Flutter 中,可以像Web开发一样使用 iconfont,iconfont 即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。

    在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。

    在Flutter开发中,iconfont和图片相比有如下优势:

    • 体积小:可以减小安装包大小。
    • 矢量的:iconfont都是矢量图标,放大不会影响其清晰度。
    • 可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。
    • 可以通过TextSpan和文本混用。