Flutter图标管理插件new_flutter_icons的使用
Flutter图标管理插件new_flutter_icons的使用
Customizable Icons for Flutter, Inspired by react-native-vector-icons, based in flutter-icons
包含的图标集
浏览所有图标集。
- AntDesign from AntFinance (298个图标)
- Entypo by Daniel Bruce (v1.0.1 with 411个图标)
- EvilIcons designed by Alexander Madyankin & Roman Shamin (v1.10.1 with 70个图标)
- Feather created by Cole Bemis & Contributors (v4.28.0 featuring 286个图标)
- FontAwesome by Dave Gandy (v4.7.0 containing 675个图标)
- FontAwesome 5 from Fonticons, Inc. (v5.15.3 offering 1598个免费图标)
- FontAwesome 6 designed by Fonticons, Inc. (v6.1.2 featuring 2016个免费图标)
- Fontisto created by Kenan Gündoğan (v3.0.4 featuring 615个图标)
- Foundation by ZURB, Inc. (v3.0 with 283个图标)
- Ionicons crafted by Ionic (v7.1.0 containing 1338个图标)
- MaterialIcons by Google, Inc. (v4.0.0 featuring 2189个图标)
- MaterialCommunityIcons from MaterialDesignIcons.com (v6.5.95 including 6596个图标)
- Octicons designed by Github, Inc. (v16.3.1 with 250个图标)
- Zocial by Sam Collins (v1.4.0 with 100个图标)
- SimpleLineIcons crafted by Sabbir & Contributors (v2.5.5 with 189个图标)
- Weather Icons by erikflowers (v2.0.10, 596个图标)
使用方法
要使用此插件,在你的 pubspec.yaml
文件中添加 new_flutter_icons
作为依赖项。
组件
IconToggle
属性 | 描述 |
---|---|
selectedIconData | 当值为真时显示的图标 |
unselectedIconData | 当值为假时显示的图标 |
activeColor | 当值为真时显示的图标颜色 |
inactiveColor | 当值为假时显示的图标颜色 |
value | 是否选中此 IconToggle |
size | 更改图标大小(默认为22) |
onChanged | 在 IconToggle 的值应更改时调用 |
duration | 从选中图标到未选中图标的过渡时间 |
reverseDuration | 从未选中图标到选中图标的过渡时间 |
transitionBuilder | 选中图标与未选中图标之间的过渡动画函数 |
示例代码
你可以在项目中添加以下代码:
// 导入包
import 'package:flutter/material.dart';
import 'package:new_flutter_icons/new_flutter_icons.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
useMaterial3: false,
),
home: const MyHomePage(title: 'New Flutter Icons'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
[@override](/user/override)
MyHomePageState createState() => MyHomePageState();
}
class MyHomePageState extends State<MyHomePage> {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: const Padding(
padding: EdgeInsets.all(20.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Icon(Icons.ac_unit),
Icon(AntDesign.stepforward),
Icon(Ionicons.search),
Icon(FontAwesome.glass),
Icon(MaterialIcons.ac_unit),
Icon(FontAwesome5.address_book),
Icon(FontAwesome5Solid.address_book),
Icon(FontAwesome5Brands.$500px),
Icon(WeatherIcons.wi_alien),
Icon(WeatherIcons.wi_cloud),
Icon(WeatherIcons.wi_day_rain)
],
),
),
);
}
}
更多关于Flutter图标管理插件new_flutter_icons的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter图标管理插件new_flutter_icons的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用new_flutter_icons
插件来管理图标的示例代码。new_flutter_icons
插件允许你轻松地在Flutter应用中集成和使用各种图标库。
1. 添加依赖
首先,你需要在pubspec.yaml
文件中添加new_flutter_icons
依赖:
dependencies:
flutter:
sdk: flutter
new_flutter_icons: ^X.X.X # 请替换为最新版本号
然后运行flutter pub get
来安装依赖。
2. 运行图标生成脚本
new_flutter_icons
插件提供了一个命令行工具来生成图标代码。你需要创建一个包含图标名称的文件,然后运行生成脚本。
创建图标配置文件
在项目的根目录下创建一个名为iconfont.json
的文件,内容如下(这里以FontAwesome为例):
{
"font_package": "font_awesome_flutter",
"class_prefix": "IconDataFa",
"custom_icons": [],
"fonts": [
{
"class": "FontAwesomeIcons",
"code_points": {
"home": 57344,
"search": 57345,
// 添加更多图标及其对应的code points
}
}
]
}
运行生成脚本
在终端中导航到项目根目录,并运行以下命令:
flutter pub run new_flutter_icons:main
该命令会读取iconfont.json
文件并生成一个包含图标的Dart文件,通常名为icons.dart
。
3. 使用生成的图标
现在,你可以在Flutter项目中使用生成的图标了。以下是一个示例:
import 'package:flutter/material.dart';
import '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 Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Icon(Icons.home), // Flutter自带的图标
Icon(IconDataFa.home), // new_flutter_icons生成的图标
Icon(IconDataFa.search), // new_flutter_icons生成的图标
],
),
),
),
);
}
}
注意事项
- 图标名称:确保在
iconfont.json
文件中正确配置图标的名称和对应的code points。 - 字体包:根据使用的图标库(如FontAwesome、Material Icons等),调整
font_package
字段的值。 - 自定义图标:如果需要添加自定义图标,可以在
custom_icons
字段中定义。
通过上述步骤,你就可以在Flutter项目中轻松管理和使用各种图标了。