Flutter图标数据获取插件flutter_icon_data的使用
Flutter图标数据获取插件flutter_icon_data的使用
English | 简体中文
flutter_icons
为Flutter提供的可定制图标插件,灵感来源于react-native-vector-icons。
注意事项
- `v1.0.0`版本有重大API更改,请谨慎升级。
- 以数字开头的图标名称会添加前缀`$`。
- 带有Dart关键字的图标名称会在末尾添加下划线`_`。
支持的图标集
- Ant Design(由AntFinance提供,共297个图标)
- Entypo(由Daniel Bruce提供,共411个图标)
- Evil Icons(由Alexander Madyankin & Roman Shamin提供,v1.10.1,共70个图标)
- Feather(由Cole Bemis & 贡献者提供,v4.7.0,共266个图标)
- Font Awesome(由Dave Gandy提供,v4.7.0,共675个图标)
- Font Awesome 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个图标)
- Simple Line Icons(由Sabbir & 贡献者提供,v2.4.1,共189个图标)
- Weather Icons(由erikflowers提供,v2.0.10,共596个图标)
使用方法
要使用此插件,在项目的pubspec.yaml
文件中添加以下依赖:
dependencies:
flutter_icons: ^x.x.x
然后运行flutter pub get
来安装依赖。
小部件
IconToggle
属性名 | 描述 |
---|---|
selectedIconData | 当值为true 时显示的图标 |
unselectedIconData | 当值为false 时显示的图标 |
activeColor | 当值为true 时显示的图标颜色 |
inactiveColor | 当值为false 时显示的图标颜色 |
value | 是否选中此IconToggle |
onChanged | 当IconToggle 的值应改变时调用的回调函数 |
duration | 从选中图标到未选中图标的过渡时间 |
reverseDuration | 从未选中图标到选中图标的过渡时间 |
transitionBuilder | 在选中图标和未选中图标之间切换的过渡动画函数 |
示例代码
以下是一个完整的示例,展示如何在Flutter项目中使用flutter_icons
插件。
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('flutter_icons 示例')),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
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),
SizedBox(height: 20),
// 使用1.1.0及以上版本的写法
Icon(FlutterIcons.stepforward_ant), // Ant Design 图标
Icon(FlutterIcons.html5_faw), // Font Awesome 图标
Icon(FlutterIcons.home_mco), // Material Community 图标
Icon(FlutterIcons.android_mdi), // Material 图标
],
),
),
),
);
}
}
如何仅保留项目中使用的字体
步骤 1
执行以下命令激活工具:
pub global activate split_icon
步骤 2
在项目的pubspec.yaml
文件中添加需要保留的字体:
flutter_icons:
android: "true"
ios: "true"
image_path: "assets/icon.png"
fonts:
- asset: fonts/ant.ttf # Ant Design Icons
- asset: fonts/ent.ttf # Entypo Icons
- asset: fonts/fea.ttf # Feather Icons
- asset: fonts/faw.ttf # Font Awesome Icons
- asset: fonts/faw5.ttf # Font Awesome 5 Regular
- asset: fonts/faw5s.ttf # Font Awesome 5 Solid
- asset: fonts/faw5b.ttf # Font Awesome 5 Brands
- asset: fonts/fou.ttf # Foundation Icons
- asset: fonts/ion.ttf # Ionicons Icons
- asset: fonts/mco.ttf # Material Community Icons
- asset: fonts/mdi.ttf # Material Icons
- asset: fonts/oct.ttf # Octicons Icons
- asset: fonts/sli.ttf # Simple Line Icons
- asset: fonts/zoc.ttf # Zocial Icons
- asset: fonts/wea.ttf # Weather Icons
保存后运行以下命令生成字体文件:
flutter pub run flutter_icons
更多关于Flutter图标数据获取插件flutter_icon_data的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter图标数据获取插件flutter_icon_data的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_icon_data
是一个用于在 Flutter 应用中获取图标数据的插件。它允许你轻松地使用各种图标库中的图标,如 Material Icons、Font Awesome、Ionicons 等。通过这个插件,你可以直接在代码中引用图标,而不需要手动下载或管理图标资源。
安装 flutter_icon_data
首先,你需要在 pubspec.yaml
文件中添加 flutter_icon_data
依赖:
dependencies:
flutter:
sdk: flutter
flutter_icon_data: ^1.0.0
然后运行 flutter pub get
来安装依赖。
使用 flutter_icon_data
flutter_icon_data
提供了多个类来访问不同图标库中的图标。以下是一些常用的图标库及其对应的类:
FlutterIconData.materialIcons
:Material IconsFlutterIconData.fontAwesome
:Font AwesomeFlutterIconData.ionicons
:IoniconsFlutterIconData.antDesign
:Ant Design IconsFlutterIconData.evilIcons
:Evil IconsFlutterIconData.entypo
:EntypoFlutterIconData.foundation
:Foundation IconsFlutterIconData.octicons
:OcticonsFlutterIconData.zocial
:ZocialFlutterIconData.simpleLineIcons
:Simple Line IconsFlutterIconData.feather
:Feather IconsFlutterIconData.weatherIcons
:Weather Icons
示例代码
以下是一个简单的示例,展示如何在 Flutter 应用中使用 flutter_icon_data
来显示 Material Icons 和 Font Awesome 图标:
import 'package:flutter/material.dart';
import 'package:flutter_icon_data/flutter_icon_data.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Flutter Icon Data Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// 使用 Material Icons
Icon(FlutterIconData.materialIcons(0xe87d)), // 0xe87d 是 Material Icons 中的 "home" 图标
SizedBox(height: 20),
// 使用 Font Awesome
Icon(FlutterIconData.fontAwesome(0xf015)), // 0xf015 是 Font Awesome 中的 "home" 图标
],
),
),
),
);
}
}