Flutter图标生成插件flutter_icons的使用

Flutter图标生成插件flutter_icons的使用

简体中文

flutter_icons #

pub package

为Flutter定制的图标库,灵感来源于react-native-vector-icons

注意事项 #

  1. v1.0.0版本有重大API更改,请谨慎升级。
  2. 以数字开头的图标名称前会添加一个$前缀。
  3. 带有Dart关键字的图标名称后会添加一个_后缀。

包含的图标集 #

浏览所有图标集:React Native Vector Icons

  • AntDesign,由AntFinance提供(297个图标)
  • Entypo,由Daniel Bruce提供(411个图标)
  • EvilIcons,由Alexander Madyankin & Roman Shamin提供(v1.10.1,70个图标)
  • Feather,由Cole Bemis & 贡献者提供(v4.7.0,266个图标)
  • FontAwesome,由Dave Gandy提供(v4.7.0,675个图标)
  • FontAwesome 5,由Fonticons, Inc.提供(v5.7.0,1500个图标(免费))
  • Foundation,由ZURB, Inc.提供(v3.0,283个图标)
  • Ionicons,由Ben Sperry提供(v4.2.4,696个图标)
  • MaterialIcons,由Google, Inc.提供(v3.0.1,932个图标)
  • MaterialCommunityIcons,由MaterialDesignIcons.com提供(v4.0.96,4416个图标)
  • Octicons,由Github, Inc.提供(v8.0.0,177个图标)
  • Zocial,由Sam Collins提供(v1.0,100个图标)
  • SimpleLineIcons,由Sabbir & 贡献者提供(v2.4.1,189个图标)
  • Weather Icons,由erikflowers提供(v2.0.10,596个图标)

使用方法 #

要使用此插件,在你的pubspec.yaml文件中添加flutter_icons作为依赖项。

小部件 #

IconToggle #

属性 描述
selectedIconData 值为true时显示的图标。
unselectedIconData 值为false时显示的图标。
activeColor 值为true时显示的图标颜色。
inactiveColor 值为false时显示的图标颜色。
value 是否选择了该IconToggle。
onChanged 当IconToggle的值应改变时调用。
duration 从选中图标到未选中图标的过渡时间。
reverseDuration 从未选中图标到选中图标的过渡时间。
transitionBuilder 选中图标与未选中图标之间的过渡动画函数。

示例 #

// 导入包
import 'package:flutter_icons/flutter_icons.dart';
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Icons'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Padding(
        padding: const EdgeInsets.all(20.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Icon(AntDesign.stepforward),
            Icon(Ionicons.ios_search),
            Icon(FontAwesome.glass),
            Icon(MaterialIcons.ac_unit),
            Icon(FontAwesome5.address_book),
            Icon(FontAwesome5Solid.address_book),
            Icon(FontAwesome5Brands.$500px)
          ],
        ),
      ),
    );
  }
}

在1.0.0版本中,你可以这样使用:

Icon(AntDesign.stepforward),
Icon(Ionicons.ios_search),
Icon(FontAwesome.glass),
Icon(MaterialIcons.ac_unit),
Icon(FontAwesome5.address_book),
Icon(FontAwesome5Solid.address_book),
Icon(FontAwesome5Brands.$500px)

从1.1.0版本开始,提供了FlutterIcons类来访问所有图标。图标名称基于原始名称添加了图标集的缩写作为后缀。以下是一些例子:

Icon(FlutterIcons.stepforward_ant)
Icon(FlutterIcons.html5_faw)

在1.0.0之前的版本中,可以这样使用:

Icon(Ionicons.getIconData("ios-search"));
Icon(AntDesign.getIconData("stepforward"));
Icon(FontAwesome.getIconData("glass"));
Icon(MaterialIcons.getIconData("ac-unit"));
Icon(FontAwesome5.getIconData("address-book"));
Icon(FontAwesome5.getIconData("address-book", weight: IconWeight.Solid));
Icon(FontAwesome5.getIconData("500px", weight: IconWeight.Brand));

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

1 回复

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


flutter_icons 是一个用于在 Flutter 项目中生成应用图标的插件。它可以帮助你快速生成不同尺寸的应用图标,以适应不同的设备和平台。以下是如何使用 flutter_icons 插件的步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 flutter_icons 依赖:

dev_dependencies:
  flutter_icons: ^1.1.0

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

2. 配置 pubspec.yaml

pubspec.yaml 文件中添加 flutter_icons 的配置。你需要指定图标的源文件路径以及生成的图标的目标路径。

flutter_icons:
  android: true
  ios: true
  image_path: "assets/icon/icon.png"
  adaptive_icon_background: "#FFFFFF"
  adaptive_icon_foreground: "assets/icon/icon_foreground.png"
  • android: 是否生成 Android 平台的图标。
  • ios: 是否生成 iOS 平台的图标。
  • image_path: 图标源文件的路径(通常是高分辨率的 PNG 文件)。
  • adaptive_icon_background: Android 自适应图标的背景颜色。
  • adaptive_icon_foreground: Android 自适应图标的前景图像路径。

3. 运行生成命令

在终端中运行以下命令来生成图标:

flutter pub run flutter_icons:main

4. 检查生成的图标

运行命令后,flutter_icons 会在 android/app/src/main/resios/Runner/Assets.xcassets/AppIcon.appiconset 目录中生成相应平台的图标。

5. 更新应用图标

生成图标后,你需要重新构建应用以确保新的图标生效。可以使用以下命令重新构建应用:

flutter build apk  # 对于 Android
flutter build ios  # 对于 iOS

6. 自定义配置 (可选)

你可以根据需要进一步自定义 flutter_icons 的配置。例如,你可以指定不同的图标路径、生成不同平台的图标、或者使用不同的背景颜色等。

flutter_icons:
  android: "launcher_icon"
  ios: true
  image_path: "assets/icon/icon.png"
  adaptive_icon_background: "#FFFFFF"
  adaptive_icon_foreground: "assets/icon/icon_foreground.png"
  min_sdk_android: 21
回到顶部