Flutter-自定义图标

news2025/7/19 7:59:52

虽然Flutter有许多内置的icon图标,但是有些特殊功能的话,需要自定义图标或者需要在iconfont 阿里巴巴的图标库里找对应合适的图标。
第一步:在iconfont 阿里巴巴里搜索想要的图标并加入到购物车,点击下载代码后,会生成一些不同格式的字体文件,在Flutter中,我们使用ttf格式即可。
在这里插入图片描述

第二步:下载下来解压后的文件,在项目的根目录下新建一个fonts文件夹,把解压文件里的.json.ttf 文件copy到新建的fonts文件夹中。其中.json文件其实是用不到的,只是为了能更便捷的看到每个字体对应的unicode,后面配置步骤会用到

在这里插入图片描述
在这里插入图片描述

第三步:在项目的pubspec.yaml文件中找到fonts配置,引入自定义文件,这里首个fonts注意一个空格对齐,也可配置多个字体,替换不同.ttf文件即可

  fonts:
     - family: Schyler  #指定一个字体名 根据自己的需求定义
       fonts:
         - asset: fonts/iconfont.ttf

在这里插入图片描述

第四步:在lib目录下新建一个自定义字体文件,我这里的命名是fonts

import 'package:flutter/material.dart';
///自定义一个类 Font
class Font {
  static const IconData gouwuche = IconData(
    0x3475,/// 0x+unicode  0x表示是十六进制
    fontFamily: "Schyler",/// Schyler 就是在`pubspec.yaml`文件里配置自定义的字体名
    matchTextDirection: true
  );
  static const IconData weixin = IconData(
      0xe856,
      fontFamily: "Schyler",
      matchTextDirection: true
  );
}

在这里插入图片描述
第五步:在页面文件中使用

引入字体文件:

import './fonts.dart';

使用:

Icon(Font.gouwuche)

在这里插入图片描述
定义多个字体文件,步骤都是一样的,只不过是把解压文件里的.json.ttf 文件,与已引入的字体文件名做区分,在fonts文件里,重复第四步步骤进行每个icon名字配置。pubspec.yaml文件里的配置如下:

  fonts:
     - family: Schyler  #指定一个字体名 根据自己的需求定义
       fonts:
         - asset: fonts/iconfont.ttf
     - family: Trajan Pro #第二个自定义字体名
       fonts:
         - asset: fonts/TrajanPro.ttf

在这里插入图片描述

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

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

相关文章

2023增加收入的最佳销售聊天机器人

哈佛大学的研究表明,快乐的客户花费更多。聊天机器人可以很大程度提高客人体验感,可以增加您的销售额。现在,快来get市场上最好的销售聊天机器人并增加您的收入! 一、什么是销售聊天机器人? 销售聊天机器人是一种自动…

使用 Wall 教你搭建 照片墙 和 视频墙

下载 Github:https://github.com/super-tongyao/wall 国内仓库(不推荐,只做加速访问,无编译包和发行版,以github仓库为准):https://gitee.com/Super_TongYao/wall 推荐github仓库,下载最新版…

演化算法:乌鸦搜索算法 (Crow Search Algorithm)

前言 如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 在机器学习中,我们所要优化的问题很多时候难以求导,因此通常会采用一些演化算法(又称零…

C++——模板

文章目录1 泛型编程2 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的实例化2.3.1 隐式实例化2.3.1.1 定义2.3.1.2 代码演示2.3.1.3 运行结果2.3.1.4 缺点2.3.2 显式实例化2.3.2.1 格式2.3.2.2 代码演示2.3.2.3 运行结果2.4 模板参数的匹配原则2.4.12.4.22.4.33 类模板…

并发编程的三大挑战之原子性及其解决方案

目录 一、原子性问题 1、带来原子性问题的原因 2、如何解决线程切换带来的原子问题 2.1、使用synchronized关键字来保证 2.2、使用CAS来保证原子性 2.3、使用lock锁来保证 一、原子性问题 1、带来原子性问题的原因 线程切换是带来原子的根本原因,java的并发程…

proteus光敏电阻电路的arduino仿真

虽然Fritzing0.9.10有了仿真的功能,但都是测试板,能够仿真的很有限,所以还是要借助proteus来仿真。这里,我们来实先一个简单的光明电阻的仿真电路。本篇博文,重点演示proteus仿真arduino光敏电阻,arduino采…

Kerberos 域委派攻击之基于资源的约束性委派

CSDN自动迁移博客文章注意区别:约束性委派 不能跨域进行委派,基于资源的约束性委派可以跨域和林如果约束性委派,必须拥有 SeEnableDelegationPrivilege 权限,该特权是敏感的,通常仅授予域管理员。为了使用户/资源更加独…

DDD领域驱动设计初探

DDD 强调领域模型要兼顾业务和技术两个视角。 我们怎么用一套系统化的方法,抽丝剥茧、一步一步地把需求落实到代码呢?咱们看看下面这张图,它表示了领域驱动设计中的主要流程。 领域驱动设计主要的开发流程你可以看到,在整个开发流…

IDEA 实现热部署(社区版)

前言 为什么要热部署? 开发环境下,我们经常对项目代码进行变动,如果每次都重新启动应用会浪费我们大量时间,为此就产生了热部署的方案,可以在不重启的情况下使用新代码。 热部署为了解决的问题有两个: 在开发的时候…

华为网工入门之eNSP小实验(6)--OSPF(一)基础概念及单区域配置

OSPF OSPF属于典型的链路状态路由协议链路状态路由协议的四个步骤: 1.相邻的建立邻居关系2.邻居间的链路间的状态信息(LSA)交互和同步LSDB(链路状态数据库)3.优选路径运算 (SPF算法计算)4.根据最优路径生成路由表项加载到路由表 目前针对ipv4协议使用的是OSPF Version 2(RFC23…

测试测开面试要知道的那些事01

列表与元组的区别列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。元组缓存于Python运行时环境,这意味着我们每次使用元组时无…

JAVA进阶 —— 集合进阶

目录 一、 双列集合 二、 Map 1. Map的常见API 2. Map的遍历方式 2.1 第一种遍历方式:键找值 2.2 第二种遍历方式:键值对 2.3 第三种遍历方式:Lambda表达式 三、 Map的三种实现类 1. HashMap 2. LinkedHashMap 3. TreeMap 3.1 练…

python智慧校园线上考试在线比赛答题系统平台源码redis

wx供重浩:创享日记 对话框发送:python考试 获取完整源码源文件说明文档配置教程等 在虚拟环境下输入命令“python manage.py runserver”启动项目,然后,访问“http://127.0.0.1:8000”进入网站首页,如图1所示。 注册用…

jvm之堆解读

堆(Heap)的核心概述 堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM,但是进程包含多个线程,他们是共享同一堆空间的。 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Java堆区…

我把物流装备用到了轨道交通接驳货物上,RGV,输送线,提升机,WCS……

导语大家好,我是智能仓储物流技术研习社的社长,你的老朋友,老K。新书上市《智能物流系统构成与技术实践》2023年度-厂商宣传合作位--->点击详情作者:马洪旭“智能制造”、“智慧物流”、“绿色物流”等高频词汇已成为物流行业的…

作物杂交(spfa()算法)

蓝桥杯集训每日一题acwing3305 作物杂交是作物栽培中重要的一步。 已知有 N 种作物 (编号 1 至 N),第 i 种作物从播种到成熟的时间为 Ti。 作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。 如作物 A 种植时间为 5 天,作物 B …

NTLM协议原理分析

LM Hash 和 NTLM Hashwindows用户的密码以哈希的形式保存在SAM文件中“%SystemRoot%\system32\config\SAM”。域用户的密码以哈希的形式保存在域控的 NTDS.dit 文件中。 密码的哈希值格式如下用域名:uid:LM哈希:NTLM哈希:::由于LM Hash 有安全缺陷,所以Windows Vist…

88. 合并两个有序数组

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应…

【Linux】实现简易的Shell命令行解释器

大家好我是沐曦希💕 文章目录一、前言二、准备工作1.输出提示符2.输入和获取命令3.shell运行原理4.内建命令5.替换三、整体代码一、前言 前面学到了进程创建,进程终止,进程等待,进程替换,那么通过这些来制作一个简易的…

Python每日一练(20230308)

目录 1. Excel表列名称 ★ 2. 同构字符串 ★★ 3. 分割回文串 II ★★★ 🌟 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 1. Excel表列名称 给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。 例如&#xff1…