第四百四十二回 再谈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.mzph.cn/news/797015.shtml

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

相关文章

dockerhub右键快速搜索脚本

Chrome 浏览器扩展的后台脚本,用于创建右键菜单项,并根据用户的操作在新的标签页中打开 Docker Hub 网站或者进行搜索。 // 创建右键菜单项,用于打开 Docker Hub 网站 chrome.contextMenus.create({id: search-home, // 菜单项的唯一标识符t…

吴恩达2022机器学习专项课程(一) 4.6 运行梯度下降第一周课程实验:线性回归的梯度下降算法

问题预览/关键词 更新梯度下降对模型拟合,等高线图,3d空间图的变化。什么是批量梯度下降。实验目标计算梯度运行梯度下降梯度下降迭代次数和成本函数的关系可视化模型预测在等高线图上的梯度下降学习率过大报错问题 笔记 1.模型拟合,等高线…

刷题之Leetcode283题(超级详细)

283.移动零 283. 移动零https://leetcode.cn/problems/move-zeroes/ 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nu…

C语言拾遗

1、 char *itoa(int value, char *string, int radix) 整形转换成字符串,但该函数实际上不属于c标准库,只是windows和gcc中提供了该接口。 如果无法使用该接口,一般可以使用sprintf进行替代。在leecode中,就不会提供itoa接口。 at…

Qt环形颜色选择控件, 圆环颜色选择器

参考文章Qt编写自定义控件:环形颜色选择控件_qconicalgradient圆环渐变-CSDN博客 感谢作责提供的方法,下面程序的基础思路同参考文章。 为了更方便使用,这个选择器是基于64色表的,会显示选中的索引和色值。颜色选择时计算方式也…

腾讯云优惠券介绍、领券入口及使用教程分享

腾讯云作为国内领先的云服务提供商,为广大用户提供了稳定、高效、安全的云计算服务。为了吸引用户上云,腾讯云推出了优惠券活动。本文将对腾讯云优惠券进行详细介绍,包括优惠券的种类、领券入口以及使用教程,助力大家轻松上云&…

Web APIs简介 Dom

JS的组成 API API 是一些预先定义的函数,目的是提供应用程序与开发人员基于软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节 简单理解:API是给程序员提供的一种工具,以便能更轻松的实现…

旋转验证码v2的加密算法

某网站最近更新了旋转验证码v2的加密算法,给爬虫程序带来了新的挑战。本文将通过网络抓包和逆向分析,深入探讨验证码请求和响应的加密机制,并提供详细的代码实现,帮助读者了解并应对新版验证码的加密算法。 网络抓包分析&#xf…

数据计算_先分组平均再加总平均与直接整体平均的差异

数据计算_先分组平均再加总平均与直接整体平均的差异 例如: 现有 A, B, C, D, E, F, G, H 共 8 组数据。 A: 16619 B: 12922 C: 15946 D: 13096 E: 13647 F: 13700 G: 13703 H: 12430其整体平均的值为: Average of ABCDEFGH: (16619 12922 15946 13096 13647 13700 1…

RecyclerView实现View复用的原理

RecyclerView是Android框架类,用于显示一个持续更新的项列表。它是一个容器,可以利用回收和重用的视图元素来展示数据。 RecyclerView的工作原理: 当RecyclerView需要展示一个新的项时,它会调用Adapter的onCreateViewHolder()方…

Linux--文件、分区与挂载

概述1 **Linux系统中的文件系统是用于管理文件的系统**,它负责数据的存储和管理。在Linux中,一切皆文件,包括普通的文件、目录以及块设备、管道等都通过文件系统来管理。文件系统不仅包含文件中的数据,还包括文件系统的结构&…

授人以渔 选购EX篇:推荐杂记索引

文章目录 系列文章生活好物饮食好物其他好物系统软件篇软件推荐杂记娱乐推荐杂记 系列文章 授人以渔 选购篇一:信用卡选购要点 授人以渔 选购篇二:冰箱选购要点 授人以渔 选购篇三:洗衣机(烘干机)选购要点 授人以渔 选…

感染了后缀为.jayy勒索病毒如何应对?数据能够恢复吗?

导言: 在当今数字化的世界中,网络安全已经成为了每个人都需要关注的重要议题。而勒索病毒作为网络安全领域中的一大威胁,不断地演变和升级,给个人和组织带来了严重的损失和困扰。近期,一种名为.jayy的勒索病毒引起了广…

Pointlio 保存每帧的里程计和点云数据用作后处理的自动或者手动回环优化

修改了laserMapping.cpp 文件,替换源程序的这个文件即可, Pointlio 保存每帧的里程计和点云数据用作后处理的自动或者手动回环优化,需要在设置里面打开保存数据的参数和pub的参数。 // #include <so3_math.h> #include <nav_msgs/Odometry.h> #include <nav…

(十一)RabbitMQ及SpringAMQP

1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&#xff0c;需要实时响应。 异步通讯&#xff1a;就像发邮件&#xff0c;不需要马上回复。 两种方式各有优劣&#xff0c;打电话可以立即得到响应&#xff0c;…

anaconda 安装Jupyter

在Anaconda中安装Jupyter Notebook可以通过以下步骤进行&#xff1a; 打开Anaconda命令行界面&#xff08;可以在开始菜单中找到Anaconda3下的Anaconda Prompt&#xff09;。 在命令行中&#xff0c;输入以下命令来更新当前的conda环境&#xff1a; conda update conda 然后…

接口日志表结构

表&#xff1a;ZTALL_IFLOG MANDT MANDT CLNT 3 0 0 客户端 UUID SYSUUID_C32 CHAR 32 0 0 16-byte UID in 32 chars (hexadecimal) IFSNR ZE_IFSNR CHAR 30 0 0 接口编号(系统ID流水号) FUNCNAME RS38L_FNAM CHAR 30 0 0 功能模块的名称 STATUS BAPI_MTYPE CHAR 1 0 0 消息类…

蚓链为可移动经济打造数据资产

​蚓链在为以五菱移动商业为代表的可移动实体经济在数据资产方面带来新的增量和增值&#xff1a; 1. 丰富数据种类和规模&#xff1a;通过数字化手段&#xff0c;可移动实体经济能够收集更多种类和更大规模的数据。 2. 优化运营决策&#xff1a;基于数据分析做出更明智的决策…

2024年MathorCup妈妈杯数学建模思路D题思路解析+参考成品

1 赛题思路 (赛题出来以后第一时间在群内分享&#xff0c;点击下方群名片即可加群) 2 比赛日期和时间 报名截止时间&#xff1a;2024年4月11日&#xff08;周四&#xff09;12:00 比赛开始时间&#xff1a;2024年4月12日&#xff08;周五&#xff09;8:00 比赛结束时间&…

MySQL-基本SQL语句编写:运算符练习

运算符练习 1.选择工资不在5000到12000的员工的姓名和工资 SELECT last_name,salary FROM employees #where salary not between 5000 and 12000; WHERE salary < 5000 OR salary > 12000;2.选择在20或50号部门工作的员工姓名和部门号 SELECT last_name,department_id…