热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

flutter引入第三方Icon图标(以阿里图标库为例)

最近在学习flutter,在引入第三方图标的时候到处百度花了点时间,搞好之后索性自己记录一下加深印象首先在阿里图标库选好需要用的图标,添

最近在学习flutter,在引入第三方图标的时候到处百度花了点时间,搞好之后索性自己记录一下加深印象


  • 首先在阿里图标库选好需要用的图标,添加进购物车
    在这里插入图片描述
  • 将选好的图标打包下载到本地(下载代码),复制iconfont.ttf文件到项目中在这里插入图片描述
    我的存放路径是:
    • lib
      • assets
        • icons
          • iconfont.ttf
  • 打开项目根目录中的pubspec.yaml文件,在flutter中增加配置,MyIcons为自定义名称

flutter:
...fonts:- family: MyIconsfonts:- asset: lib/assets/icons/iconfont.ttf

这里对代码格式要求比较严格,但自动生成的注释里就有例子,可以按照例子来写


  • 最后就是在项目中引用了,以底部导航菜单图标为例:

items: <BottomNavigationBarItem>[BottomNavigationBarItem(icon: Icon(IconData(0xe65f,fontFamily: &#39;MyIcons&#39;)),activeIcon: Icon(IconData(0xe660,fontFamily: &#39;MyIcons&#39;)),title: Text("首页")),...
],

其中:IconData()里面,第一个参数为codePoint,代表图标字体存储的Unicode,这个可以在打开下载文件中的HTML文件查看,将 &# 字符替换为 0 即可在这里插入图片描述

fontFamily:后面跟自定义的字体图标名称,我这里是MyIcons

效果如下:
在这里插入图片描述
顺便一提:flutter底部导航这里有个规则:

BottomNavigationBarType.fixed,当少于四个项目时的默认值。如果选中的项为非null,则使用fixedColor渲染,否则使用主题的ThemeData.primaryColor。导航栏的背景颜色是默认的材质背景颜色,ThemeData.canvasColor(基本上是不透明的白色)。
BottomNavigationBarType.shifting,当有四个或更多项时的默认值。所有项目都以白色呈现,导航栏的背景颜色与所选项目的BottomNavigationBarItem.backgroundColor相同 。在这种情况下,假设每个项目将具有不同的背景颜色,并且背景颜色将与白色形成鲜明对比。

我当时参照的教程,底部导航只有三个,到我自己想写一个时,我搞了四个导航,结果一出来效果完全不同,当时就懵逼了,后来看了api才知道是这个原因,如果想要三个以上导航也按照 fixed 模式设置,可以增加参数:

bottomNavigationBar: BottomNavigationBar(...// 大于3个项,默认设置为BottomNavigationBarType.shifting,此处根据需求可更改type:BottomNavigationBarType.fixed,...
),

推荐阅读
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 使用Flutternewintegration_test进行示例集成测试?回答首先在dev下的p ... [详细]
  • 先上图引入插件在pubspec.yaml中引入charts_flutter插件使用的时候版本到0.6.0,插件地址:https:github.comgooglecharts使用插件 ... [详细]
  • 出色的对话框未在Flutter应用中关闭
    我在flutter应用程序中使用了Awesom ... [详细]
  • 初识顶部导航栏【flutter20个实例之一】
    初识顶部导航栏【flutter20个实例之一】-一、老套路,先看样式二图是我的实际开发中业务界面,用作展示而已二、讲解(后附源码)1.这里主要是用户AppBar组件** ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • flutter图片缓存Flutter的图片缓存机制有问题(可能是我使用的版本1.12.13有问题)网络图片会默认缓存到本地,但是不管图片是不是完整的或者损坏的,导致页面在下次进入的 ... [详细]
  • springboot yaml配置文件
    yaml配置文件给对象赋值首先是实体类aplication.yaml配置文件结果:yaml文件,命名必须为application.yaml,spring才能扫描到配置文件sprin ... [详细]
  • k8snamespace配置cpu最大和最小限额
    世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。问:如何为namespace配置最大和最小限额&#x ... [详细]
  • YOLOV4 Pytorch版本训练自建数据集和预测
    1.程序下载本文程序核心部分完全参考开源代码:https:github.comWongKinYiuPyTorch_YOLOv4。只是从一种学习的角度去写了我的代码仓库,在基础上增加 ... [详细]
  • Project2.cpp:定义应用程序的入口点。#includeframework.h#includeProject2.h#defineMAX_LOADSTRING100全 ... [详细]
  • Material Design Lite ,简洁惊艳的前端工具箱。
    2019独角兽企业重金招聘Python工程师标准MaterialDesignLite简介本文主要介绍MaterialDesign设计语言的HTMLCSSJS部分实现。对应每一 ... [详细]
  • 第三方登录之微信扫码登录
    文章目录1.申请微信接入:2.项目环境搭建:3.后端Controller接口:4.HTML页面代码:5.测试结果࿱ ... [详细]
author-avatar
李淑茹韦雯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有