flutter - Flutter,Flare:在动画结束时执行函数
问题描述
我有一个简单的问题,但找不到答案:有没有办法在我的 Flare 动画完成后执行函数?我有一个在应用启动时显示的动画,我希望在动画结束后显示主屏幕。我怎样才能做到这一点?我尝试使用 Future.delayed() 但不知道将函数放在哪里。如果我将它放入 StartAnimation 小部件的构建器中,则会一遍又一遍地执行 EnterExitRoute。
import 'package:flutter/material.dart';
import 'animations.dart';
import 'package:flare_flutter/flare_actor.dart';
String _animationName = "Start";
Center(
child: GestureDetector(
onTap: () {
Navigator.push(context,
EnterExitRoute(exitPage: this, enterPage: HomeScreen()));
},
child: Column(
children: <Widget>[
Center(
child: Container(
height: 875,
child: FlareActor(
'src/animation.flr',
animation: _animationName,
fit: BoxFit.contain,
),
),
),
],
),
),
),
解决方案
小FlareActor
部件有一个回调参数:
/// Callback invoked when [animation] has completed. If [animation] is looping
/// this callback is never invoked.
final FlareCompletedCallback callback;
其他替代方法是使用FlareControls
具有方法 onCompleted(String name)
的 a :
/// Listen for when the animation called [name] has completed.
void onCompleted(String name) {}
推荐阅读
- javascript - 导出为 PDF 时是否可以在 datatable.js 中使用 colspan?
- android - 在对话框中使用“android:textIsSelectable”时,某些文本会被省略号替换
- angular - Ck editor 5 Highlight插件在向服务器发送数据时不起作用,但它在编辑器中应用?
- ios - AVCaptureSession 图像大小压缩类似 IOS 默认摄像头
- html - 三个剪辑路径:只有最后一个剪辑路径可用于 ios 系统
- reactjs - React-Select:有没有办法将选项道具作为子选项组件传递?
- here-api - 卡车导航中的 HERE iOS 车辆尺寸由 NMACoreRouter 更改。漏洞?
- ios - UINavigationController modalPresentationStyle 在 iPhone 上不起作用
- php - 如何使用 PHP 从 Oracle 存储函数中获取 OUT 参数作为集合
- javascript - JavaScript 更改时间戳