Flutter图标集生成插件icon_set_generator的使用

Flutter图标集生成插件icon_set_generator的使用

icon_set_generator 是一个简单的命令行工具,可以方便地为您的下一个应用程序生成图标集。

安装

方法一:克隆仓库并添加到PATH

gh repo clone POWRFULCOW89/icon_set_generator

然后将 bin/icon_set_generator.exe 添加到系统路径中。

方法二:通过pub包安装

dart pub add icon_set_generator

接着从源码编译可执行文件:

dart compile exe .\bin\icon_set_generator.dart

方法三:获取预构建的二进制文件

访问 GitHub发布页面 下载预构建的二进制文件。

使用方法

icon_set_generator image.extension [-e] [-o] [-s] [-a] [-w] [-h]

-e, --extension    选项:转换后的图标集格式。
-o, --output       选项:输出目录。
-s, --set          选项:自定义大小集合。
-a, --apple        标志:为Apple应用生成图标集。
-w, --windows10    标志:为Windows 10应用生成图标集。
-h, --help         标志:显示命令行用法。

示例

示例1:从 favicon.png 输出标准图标集

icon_set_generator favicon.png

示例2:从 logo.jpg 输出标准、Apple和Windows 10图标集

icon_set_generator logo.jpg -a -w

示例3:从 image.gif 输出自定义大小的图标集到 samples 文件夹,并转换为 ICO 格式

icon_set_generator image.gif -o samples --set "[10, 20, 30]" -e ico

更多关于Flutter图标集生成插件icon_set_generator的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter图标集生成插件icon_set_generator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


icon_set_generator 是一个用于生成 Flutter 图标集的插件,它可以帮助你从 SVG 文件生成 Flutter 可用的图标集。这个插件可以简化图标管理的过程,特别是当你需要处理大量自定义图标时。以下是使用 icon_set_generator 的基本步骤:

1. 安装 icon_set_generator

首先,你需要在项目中添加 icon_set_generator 插件。在 pubspec.yaml 文件中添加以下依赖:

dev_dependencies:
  icon_set_generator: ^0.0.1

然后运行 flutter pub get 来获取依赖。

2. 准备 SVG 图标文件

将你需要生成图标集的 SVG 文件放入项目的 assets/icons 目录中(你可以根据需要更改目录名)。确保这些 SVG 文件是有效的。

3. 配置 icon_set_generator

在项目的根目录下创建一个 build.yaml 文件(如果还没有的话),并添加以下配置:

targets:
  $default:
    builders:
      icon_set_generator|icon_set_generator:
        generate_for:
          - assets/icons/*.svg

这个配置告诉 icon_set_generator 使用 assets/icons 目录下的所有 SVG 文件来生成图标集。

4. 生成图标集

运行以下命令来生成图标集:

flutter pub run build_runner build

这将生成一个 Dart 文件,通常位于 lib/icons.dart,其中包含了所有图标的 IconData 对象。

5. 使用生成的图标集

在生成的 icons.dart 文件中,你会发现一个类,例如 AppIcons,里面包含了所有图标的静态成员。你可以像下面这样使用这些图标:

import 'package:flutter/material.dart';
import 'icons.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Icon Set Example'),
        ),
        body: Center(
          child: Icon(AppIcons.myIcon), // 使用生成的图标
        ),
      ),
    );
  }
}

6. (可选)自定义生成的文件名和类名

你可以在 build.yaml 中自定义生成的 Dart 文件名和类名。例如:

targets:
  $default:
    builders:
      icon_set_generator|icon_set_generator:
        generate_for:
          - assets/icons/*.svg
        options:
          output_file: 'lib/custom_icons.dart'
          class_name: 'CustomIcons'
回到顶部