Flutter动画图标插件rive_animated_icon的使用
Flutter动画图标插件rive_animated_icon的使用
简介
rive_animated_icon
是一个Flutter插件,提供了50多个由Rive动画制作的图标。这些图标可以被定制以适应您的偏好。它包括了riveIcon
类型、onTap
、color
等参数,为用户提供了一定程度上的控制。
Icons Sample
示例代码
以下是一个完整的示例demo,展示了如何在Flutter应用中使用rive_animated_icon
插件:
import 'package:flutter/material.dart';
import 'package:rive_animated_icon/rive_animated_icon.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Rive Animated Icons',
debugShowCheckedModeBanner: false,
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({
super.key,
});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: SafeArea(
child: SingleChildScrollView(
child: Center(
child: Wrap(
alignment: WrapAlignment.start,
children: RiveIcon.values
.map((RiveIcon e) => Padding(
padding: const EdgeInsets.all(5.0),
child: Column(
children: [
const SizedBox(
height: 10,
),
RiveAnimatedIcon(
riveIcon: e,
width: 40,
height: 40,
strokeWidth: 3,
loopAnimation: true,
onTap: () {
debugPrint('tapped');
},
onHover: (value) {
debugPrint('value is $value');
},
color: Colors.green,
),
],
),
))
.toList()),
),
)),
);
}
}
必要参数
riveIcon
此参数用于定义来自RiveIcon
枚举的图标类型。
可选参数
width
设置图标的宽度。
height
设置图标的高度。
color
设置图标的颜色。
loopAnimation
当此参数设置为true
时,图标的动画将循环播放。
onTap
用户点击图标时触发的回调函数。
onHover
鼠标悬停在图标上时触发的回调函数。
splashColor
设置图标点击时的水波纹颜色。
strokeWidth
设置图标的描边宽度。
splashFactory
设置图标的水波纹效果工厂。
mouseCursor
设置鼠标悬停在图标上时的鼠标样式。
enableAbsorbPointer
当此参数设置为true
时,禁用图标的所有交互功能。
动画图标描边宽度示例
最佳实践
- 如果Rive动画设置为循环,并且滚动到屏幕外,您可以禁用循环以停止动画并节省资源。同样,当动画回到视图内时,可以重新启用循环。
许可证
Rive Animated Icons遵循MIT许可证,详情请参阅 LICENSE.
动画致谢
所有可用的图标都是在Rive中动画化的,并来源于Rive社区文件。特别感谢所有的动画师!
维护者
以上是关于rive_animated_icon
插件的详细介绍和使用方法,希望对您有所帮助!
更多关于Flutter动画图标插件rive_animated_icon的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter动画图标插件rive_animated_icon的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,rive_animated_icon
是一个强大的 Flutter 插件,它允许你使用 Rive 动画图标来增强你的应用界面。Rive 动画图标具有高保真度和流畅性,非常适合用于加载指示器、按钮动画等场景。
以下是一个简单的代码示例,展示如何在 Flutter 应用中使用 rive_animated_icon
插件。
1. 添加依赖
首先,你需要在你的 pubspec.yaml
文件中添加 rive
和 rive_animated_icon
依赖:
dependencies:
flutter:
sdk: flutter
rive: ^0.8.0 # 请检查最新版本号
rive_animated_icon: ^0.3.0 # 请检查最新版本号
然后运行 flutter pub get
来获取这些依赖。
2. 导入包
在你的 Dart 文件中导入必要的包:
import 'package:flutter/material.dart';
import 'package:rive/rive.dart';
import 'package:rive_animated_icon/rive_animated_icon.dart';
3. 使用 RiveAnimatedIcon
下面是一个完整的 Flutter 应用示例,展示如何使用 RiveAnimatedIcon
:
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Rive Animated Icon Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> with SingleTickerProviderStateMixin {
late AnimationController _controller;
@override
void initState() {
super.initState();
_controller = AnimationController(
duration: const Duration(seconds: 1),
vsync: this,
)..repeat(reverse: true);
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Rive Animated Icon Demo'),
),
body: Center(
child: RiveAnimatedIcon.asset(
'assets/rive/your_animation.riv', // 替换为你的 Rive 文件路径
animations: ['idle', 'tap'], // 替换为你的动画名称列表
activeAnimation: 'tap', // 默认激活的动画
inactiveAnimation: 'idle', // 默认非激活的动画
controller: _controller,
size: 50.0, // 图标大小
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
// 切换动画状态
_controller.isAnimating
? _controller.stop()
: _controller.reset();
});
},
tooltip: 'Toggle Animation',
child: Icon(Icons.play_arrow),
),
);
}
}
4. 添加 Rive 文件
确保你将 Rive 动画文件(例如 your_animation.riv
)放在项目的 assets
文件夹中,并在 pubspec.yaml
中添加相应的资源路径:
flutter:
assets:
- assets/rive/your_animation.riv
5. 运行应用
现在你可以运行你的 Flutter 应用,应该能够看到一个带有 Rive 动画图标的界面。点击浮动操作按钮(FAB)可以切换动画状态。
这个例子展示了如何使用 rive_animated_icon
插件在 Flutter 应用中集成和控制 Rive 动画图标。你可以根据需要调整动画、大小和其他属性。