第八十五回:如何使用字体图标

文章目录

  • 概念介绍
  • 使用方法
  • 示例代码

我们在上一章回中介绍了Icon这种Widget,本章回中将介绍 如何使用字体图标。闲话休提,让我们一起Talk Flutter吧。

概念介绍

本章回中介绍的字体图标是指Icon中使用特殊的字体来充当图标,字体图标可以看作是上一章回中Icon的扩展。其实SDK中提供的Material Icons也是字体图标,只不过系统SDK对这些图标进行了封装,以方便开发人员使用。

使用方法

  1. 创建矢量图标,通常是ttf格式,或者从网络下载其他人员创建作的开源图标;
  2. 把下载的ttf文件放到到项目中并且在yaml文件配置与图标的相关内容;
  3. 在代码中把ttf文件中的字体封装成IconData类型的图标对象,
  4. 在Icon组件中使用刚才创建的IconData图标对象;

我在网络上免费下载了ttf字体图标: 大家可以到该网站下载,国内常用的是阿里巴巴矢量图标。其实Gihub上也有一些开源的矢量图标可以下载使用,大家自行查找,我在这里就不介绍了。

下载的字体图标文件最好放在projectName/fonts或者projectName/assets/fonts目录下,这样方便项目管理。这两个目录在项目中不存在,需要自己创建。

示例代码

flutter:generate: true # Add this lineuses-material-design: trueassets:- images/ex.png- images/panda.jpeg#在这里添加字体图标相关的内容fonts:- family: IconMoonfonts:- asset: fonts/IcoMoonFree.ttf

上面代码中最外层的fonts是标签,它和图片标签assets位于一同级.family可以看作是字符图标的包名,asset后面的内容是字符图标文件所在的路径。

///使用SDK中系统提供的图标Icon(Icons.add),
///使用网络下载的ttf格式的字体图标,通过IconData使用ttf文件中的图标Icon(IconData(0x2211,fontFamily:'IconMoon' )),

上面代码中的0x2211是十六进制的内容,可以把它当作ttf文件中某个字体图标的标识,我们使用文本编译器打开ttf文件就会看作这些标识,大家可以替换成文件中其它的标识。

fontFamily属性的值就是我们在yaml文件中配置的值。

我们在代码中分别使用了系统SDK提供的图标和自己在网络上下载的字体图标,从代码中可以看出,系统SDK提供的图标更加简洁明了。其实SDK的提供的字体图标和我们下载的字体图标在原理上完全相同,只是SDK对图标进行了封装,以方便开发者使用,大家看一下源代码就能明白,就看代码中Icon.add这个字体图标就可以,SDK使用静态变量进行了封装。我们在下一章回中将专门介绍这部分内容。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

极简websocket实时聊天

在线体验链接:http://47.242.53.5:888/ 项目git地址:https://gitee.com/xiao-ming-1999/websocket-server.git 实现步骤: 在前端创建WebSocket连接:在Vue组件中使用vue-native-websocket库或原生的WebSocket API来创建WebSocket…

简单线性回归评估指标+R Squared

使得每一个数据集尽可能的小 均方误差MSE:(平方和取平均值) 均方根误差RMSE:(平方和取平均值开根号):平均误差值 平均绝对误差MAE:(绝对值取平均)&#xff1a…

Vue3通透教程【十八】TS为组件的props标注类型

文章目录 🌟 写在前面🌟 回顾defineProps的基础写法🌟 defineProps的TS写法🌟 withDefaults方法🌟 拓展🌟 写在最后 🌟 写在前面 专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 …

内网安全:内网穿透详解

目录 内网穿透技术 内网穿透原理 实验环境 内网穿透项目 内网穿透:Ngrok 配置服务端 客户端配置 客户端生成后门,等待目标上线 内网穿透:Frp 客户端服务端建立连接 MSF生成后门,等待上线 内网穿透:Nps 服…

【Linux】- Linux 磁盘分区、挂载

Linux 磁盘分区、挂载 1.1 Linux 分区1.2 硬盘说明1.3 磁盘情况查询 1.1 Linux 分区 原理介绍 Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系…

使用 Certbot 并设置自动续期 SSL 证书

使用 Certbot 并设置自动续期 SSL 证书 步骤: 安装 Certbot:使用命令安装 Certbot: sudo yum install certbot获取 SSL 证书:运行 Certbot 命令来获取并安装 SSL 证书。 示例命令,替换其中的域名和路径信息&#xff1…

axios跨域写了withCredentials还是取不到值

axios发送跨域请求,设置请求头为: axios.default.withCredentials true之后,session还是取不到值。 通过后台的输出课间,sessionId不一致。 解决方法: 跨域请求的ip地址,不能写localhost。 比如&#…

Mac搭建安卓模拟器(支持M1/M2)

引言 最近在研究Vue打包成app,给我的报价器搞一个移动端,奈何没有安卓手机用于测试。所以想到安装一个安卓模拟器。 看了下目前主流的安卓模拟器基本都不支持Mac版本。网易的mumu目前来看还是只支持Intel芯。 1. 简单版(仅M系)…

BigTable:一个针对结构化数据的分布式存储系统----论文摘要

目录 摘要 1. 介绍 2. 数据模型 行 列族 时间戳 3. API 4. 所需构件 5. 实现 5.1 Tablet的位置 5.2 Tablet分配 5.3 Tablet服务 5.4 压实(Compactions) 6. 优化 本地化分组 压缩(compression) 通过缓存提高读操作的性能 Bloom过滤器 C…

数据库查询速度上不去的查询和分析

主要原因 数据库查询速度上不去、阻塞是指在并发访问 MySQL 数据库时,某个事务占用了资源并且长时间不释放,导致其他事务无法执行或执行缓慢的情况。MySQL 阻塞可能会导致数据库性能下降,甚至出现死锁等问题,需要马上进行处理。在 MySQL中,线程阻塞可能是由于以下原因导致…

基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测)

●项目名称 基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测) ●项目简介 本项目在Aidlux上部署鸟类检测驱赶系统,通过视觉技术检测到有鸟类时,会进行提示。并可在源码上修改coco 80类目标检测索引直…

数据结构专题2

数据结构专题2 - step 1 线段树 1. Cube - HDU 3584 三维的空间中有 n n n 个元素&#xff0c;初始时每个空间元素均为0。更新操作是0变1&#xff0c;1变0&#xff0c;是一个立方体型区域内的所有元素都更新。然后查询是问某个点的元素是0还是1. ( 1 < n < 100 , m…

java 处理mysql获取树形的数据 带级别和子集数量

要求&#xff1a; 获取数据生成树形数据后&#xff0c;要求返回返回层级&#xff08;level&#xff09;和子集(childCount)的个数&#xff0c;便于前端处理。 处理&#xff1a; 1&#xff0c;在遍历的时候&#xff0c;进行处理。 &#xff08;适合内部调用&#xff09; 2&am…

Java日期操作类

Java中的日期操作类提供了丰富的日期和时间操作功能&#xff0c;可以帮助我们方便地处理日期和时间。本篇技术博客将详细介绍Java日期操作类的定义、使用和示例代码。 Java日期操作类 Java中的日期操作类主要有以下几个&#xff1a; java.util.Datejava.util.Calendarjava.t…

ELK-日志服务【logstash-安装与使用】

目录 【1】安装logstash logstash input 插件的作用与使用方式 【2】input --> stdin插件&#xff1a;从标准输入读取数据&#xff0c;从标准输出中输出内容 【3】input -- > file插件&#xff1a;从文件中读取数据 【4】input -- > beat插件&#xff1a;从filebe…

【Vue2.0源码学习】模板编译篇-模板解析阶段(文本解析器)

文章目录 1. 前言2. 结果分析3. 源码分析4. 总结 1. 前言 在上篇文章中我们说了&#xff0c;当HTML解析器解析到文本内容时会调用4个钩子函数中的chars函数来创建文本型的AST节点&#xff0c;并且也说了在chars函数中会根据文本内容是否包含变量再细分为创建含有变量的AST节点…

开发跨平台APP,是用Flutter还是React Native开发框架?

随着移动互联网的飞速发展&#xff0c;对于开发人员而言&#xff0c;如何快速地开发出兼容不同平台&#xff08;iOS、Android&#xff09;的应用&#xff0c;成为了一个重要的问题。 跨平台应用程序开发框架的好处&#xff1a; 1. 一个App适用于多个设备&#xff1b; 2. 一个…

【CSDN新星计划】初阶牛C/C++赛道——顺序程序设计(C语句②)

目录 3.2 最基本的语句——赋值语句 3.2 最基本的语句——赋值语句 在C程序中最常用的语句是:赋值语句和输入输出语句。其中最基本的是赋值语句程序中的计算功能大部分是由赋值语句实现的,几乎每一个有实用价值的程序都包括赋值语句。有的程序中的大部分语句都是赋值语句。先介…

arcgis实现影像监督分类

1、打开ArcMap,右击空白处打开影像分类工具栏&#xff0c;如下&#xff1a; 2、打开影像&#xff0c;如下&#xff1a; 打开的影像由于未经处理&#xff0c;颜色看起来很昏暗&#xff0c;这时候可以拉伸一下。具体操作&#xff0c;右击图层选择属性&#xff0c;如下&#xff1a…

基于springboot,vue网上订餐系统

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 前端技术 &#xff1a;VueElementUI 服务端技术&#xff1a;springbootmybatisredis 本系统分用户前台和管理后台两部分&#xff0c;项…