第四百四十二回 再谈flutter_launcher_icons包

文章目录

  • 1. 概念介绍
  • 2. 使用方法
  • 3. 示例代码
  • 4. 经验与总结
    • 4.1 经验分享
    • 4.2 内容总结

我们在上一章回中介绍了"overlay_tooltip简介"相关的内容,本章回中将 再谈flutter_launcher_icons包.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在四百一十二回中介绍修改程序的桌面图标时介绍过这个包的用法,不过当时使用该插件修改桌面图标时没有修改成功,本章回将再次介绍该包,我们这次可以使用该
包来修改桌面图标,我们同时将分享修改成功的经验和技巧。

2. 使用方法

下面是详细的操作方法,请大家参考:

  • 在yaml文件中配置包,并且获取到本地;
  • 填写配置信息,主要是修改桌面图标的路径;
  • 通过相应的命令生成桌面图标;
  • 运行程序,可以看到桌面上的图标已经被修改;

上面的使用方法看着简单,不过还有一些注意事项:

  • 在yaml文件中配置该包时需要在dev_dependencies section下方进配置,而不是在dependencies sectoin下方配置,这点特别容易出错。因为导入三方包进行配置时通常都是在dependencies section下方配置;
  • 配置好包以及桌面图标后,需要运行命令,命令为:flutter pub run flutter_launcher_icons,需要在terminal中运行该命令,可以是电脑上的终端窗口,也可以是AndroidStudio中的终端窗口;
  • 运行程序时需要重新运动,不能是热重载。我们建议停止当前的程序,然后重新运行一次程序。

3. 示例代码

  flutter_launcher_icons: ^0.13.1
flutter_launcher_icons:android: trueios: trueimage_path: "images/avata.png"#  image_path_android: "images/avata.png"#  image_path_ios: "images/avata.png"

示例代码中主要包含该包的配置,以及桌面图标的配置,不同的平台可以配置不同的图标。

此外,该包还有其它的参数可以配置,大家可以参考官方文档。配置好后不会立即生效,需要运行命令才可以生成相应的桌面图标,下面是运行命令后的内容:

your_home % flutter pub run flutter_launcher_icons
Changing current working directory to: /your_home/fluttercookbook
Deprecated. Use `dart run` instead.
Building package executable... (1.4s)
Built flutter_launcher_icons:flutter_launcher_icons.════════════════════════════════════════════FLUTTER LAUNCHER ICONS (v0.13.1)                               ════════════════════════════════════════════• Creating default icons Android
• Overwriting the default Android launcher icon with a new icon
• Overwriting default iOS launcher icon with new icon
No platform provided✓ Successfully generated launcher icons

从上面的结果中可以看到,生成了桌面图标,我们也可以在Android的res目录下以及iOS的Runner/Assets.appiconset目录下看到新生成的图标。

生成的图标包含所有的分辨率,特别是iOS中同一分辨率下1x,2x,3x对应的图标也会一起生成,这个功能的原生配置的效果完全一样。不过Android和原生的ImageAsset功能还是有一些差异,它没有背景和前景,虽然可以通过包中的参数指定背景和前景,但是不如ImageAsset使用方便。

4. 经验与总结

4.1 经验分享

我们分享一些使用过程中总结的经验,详细如下:

  • 配置包时一定在注意section,这个包与其它三方包不一样,需要在dev_dependencies sectoin下主进行配置;
  • 使用包时一定要通过命令来生成桌面图标,而不是像其它包一样在代码中调用包中的接口,或者编译整个程序来生成图标;
  • 判断是否成功修改桌面图标时可以通过命令的运行结果,或者直接到原生目录下查看是否有桌面图标生成或者被修改;

回想一下前面章回中内容,我们失败了,原因就是配置错了包,而且没有运行命令生成桌面图标。

4.2 内容总结

最后我们对本章回的内容做一个全面的总结:

  • 使用flutter_launcher_icons包可以生成不同平台上的程序桌面图标;
  • 使用flutter_launcher_icons包时需要通过命令来生成图标,而不需要调用相关的接口;
  • 使用flutter_launcher_icons包生成的桌面图标已经和原生开发时的图标十分接近了,但是他的效率要高一些;

看官们,与"再谈flutter_launcher_icons包"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

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

相关文章

Redux和Redux Toolkit

Redux 概念:redux是react最常用的集中状态管理工具,类似于Vue中的Pinia(vuex),可以独立于框架运行作用:通过集中管理的方式管理应用的状态 Redux快速体验 不和任何框架绑定,不使用任何构建工具,使用纯Re…

2024年面试AI编译器岗经验总结

面试经历: 面试中必备的知识: 1.用C++实现一个卷积 (图解)一步一步使用CPP实现深度学习中的卷积 - GiantPandaCVGiantPandaCVhttp://giantpandacv.com/academic/%E7%AE%97%E6%B3%95%E7%A7%91%E6%99%AE/%E5%B0%BD%E8%A7%88%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E…

支小蜜校园刷脸支付系统的优势在哪里?

在当今社会,校园欺凌问题日益受到人们的关注。校园欺凌不仅影响学生的身心健康,还可能导致其产生厌学、逃学甚至报复社会的行为。建立校园防欺凌系统对于学校而言,具有极其重要的意义。本文将详细探讨校园防欺凌系统对学校的好处。 一、保障…

Harmony鸿蒙南向驱动开发-Regulator

Regulator模块用于控制系统中各类设备的电压/电流供应。在嵌入式系统(尤其是手机)中,控制耗电量很重要,直接影响到电池的续航时间。所以,如果系统中某一个模块暂时不需要使用,就可以通过Regulator关闭其电源…

学习笔记:解决拖延

1 解决拖延、减轻压力的关键心态和方法 1.1 要点梳理 拖延是因为自己一直在逃避,重点是要有效突破逃避圈,进入学习圈,扩展成长圈。 毒蛇曲线(见思维导图)中越是临近截止期限,拖延的焦虑越上升&#xff0…

springcloud第4季 使用resilience4j实现服务流量治理

一 前言 1.1 断路器介绍 断路器是一种开关装置,当某个服务单元发生故障后,通过断路器向调用方返回一个符合预期,可处理的备选响应。保证服务不会被长时间,不必要的占用,从而避免在分布式系统故障的蔓延、乃至雪崩。…

onSaveInstanceState()与onRestoreInstanceState()

目录 1.二者作用 2.onSaveInstanceState调用时机 2.1 五种情况 前4种情况Activity生命周期: 2.2 注意事项:确定会被系统回收并销毁,不会调用此方法 两个例子 3.onRestoreInstanceState调用时机 3.1实例——屏幕切换生命周期 3.2 极端…

python爬虫 爬取网页图片

http://t.csdnimg.cn/iQgHw //爬虫爬取图片其实是很简单的,但是大多数同学,可能对 url的设置一直有困惑(这点本人也在研究),而本篇文章,对于想要爬取图片的小白简直是福利。你只需要将文章代码运行即可&am…

三种常见webshell工具的流量特征分析

又来跟师傅们分享小技巧了,这次简单介绍一下三种常见的webshell流量分析,希望能对参加HW蓝队的师傅们有所帮助。 什么是webshell webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、…

Kotlin:常用标准库函数(let、run、with、apply、also)

一、let 扩展函数 Kotlin标准库函数let可用于范围确定和空检查。当调用对象时,let执行给定的代码块并返回其最后一个表达式的结果。对象可以通过引用(默认情况下)或自定义名称在块中访问。 let扩展函数源码 let.kt文件代码 fun main() {println("isEmpty $is…

处理慢查询时使用explain一般看哪些字段

explain之后会出现这些,一般就只看下面这几个字段 select_type就是查询类型,在我司的业务里基本上用的都是简单查询,在内存中处理逻辑,复杂查询的话排查问题比较麻烦,引起慢查询还会拖累数据库,数据库里还…

c#获取Web.Config中的值出现的错误及解决办法

c#获取Web.Config中的值出现的错误及解决办法 1.错误提示 2.原因寻找 问题出在Web.Config文件中 <add key"mchid " value"1495103432"/>//mchid 后面不应该有空格图示如下&#xff1a; 3.改正代码如下&#xff1a; <?xml version"1.0…

【Linux-运维】查看操作系统的指定端口占用情况确定端口是哪个服务占用

不同的查看端口占用的方法&#xff0c;应用场景有所不同 一、查询某个端口是否被占用&#xff1f;lsof -i:端口号lsof -i:协议 查看某个协议的占用情况netstat -tlnp|grep 端口号ss -tlnp|grep 端口号fuser 端口号/协议ls -l /proc/$(lsof -t -i:端口号)|grep exe 二、确认指定…

OpenC910 datasheet 2.0 翻译

概述 C910是由THEAD半导体有限公司开发的一款RISC-V兼容的64位高性能处理器。它通过架构和微架构创新&#xff0c;在控制流、计算和频率方面提供行业领先的性能。C910处理器基于RV64GC指令集&#xff0c;并实现了XIE&#xff08;XuanTie指令扩展&#xff09;技术。C910采用先进…

2024-04-10 作业

作业要求&#xff1a; 1> 思维导图 2> 作业1&#xff1a; 作业2&#xff1a; 运行代码&#xff1a; main.cpp #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug> #include <QTimerEvent> #include <QTime> #include &…

STC89C52学习笔记(四)

STC89C52学习笔记&#xff08;四&#xff09; 综述&#xff1a;本文讲述了在STC89C51中数码管、模块化编程、LCD1602的使用。 一、数码管 1.数码管显示原理 位选&#xff1a;对74HC138芯片的输入端的配置&#xff08;P22、P23、P24&#xff09;&#xff0c;来选择实现位选&…

大话设计模式——17.状态模式(State Pattern)

简介 对象的行为依赖于它的状态&#xff08;属性&#xff09;&#xff0c;可以根据状态的改变而改变相关行为。 UML图&#xff1a; 应用场景&#xff1a; 对象的行为取决于其状态&#xff0c;并且必须要在运行时刻根据状态而改变行为代码中包含大量与对象状态有关的条件语句 …

嵌入式Linux:Linux库函数

目录 1、Linux库函数简介 2、标准C语言库函数 1、Linux库函数简介 Linux 提供了丰富的库函数&#xff0c;涵盖了各种领域&#xff0c;从文件操作到网络编程、图形界面、数学运算等。这些库函数大多数都是标准的 C 库函数&#xff0c;同时也包括一些特定于 Linux 系统的库。 …

GlusterFS分布式文件系统

前言 存储可分为文件存储和对象存储&#xff0c;常见的文件存储相关技术有&#xff1a;nfs、lvm、raid&#xff1b;常见的对象存储相关技术有&#xff1a;gfs、ceph、fdfs、nas、oss、s3、switch。GlusterFS 归类为文件存储系统&#xff0c;它提供了一种强大的方式来管理和存储…

ubuntu系统逻辑卷Logical Volume扩容根分区

Linux LVM详解 https://blog.csdn.net/qq_35745940/article/details/119054949 https://blog.csdn.net/weixin_41891696/article/details/118805670 https://blog.51cto.com/woyaoxuelinux/1870299 LVM&#xff08;Logical Volume Manager&#xff09;逻辑卷管理&#xff0c…