如何解决如何在颤振中播放特定持续时间的乐天动画
我想在颤动中播放特定持续时间的乐透动画。我不想通过快进来播放它。比如如果我的动画总共包含 90 frames
那么如果我只想先播放 30 frames
那么我可以做到这一点吗?或者,如果我的动画总共有 2 秒,但我只想播放第一秒。那么我如何使用动画控制器或其他任何东西来做到这一点?
解决方法
好的,您可以尝试直接编辑控制器,因此您的 initState 将如下所示:
@override
void initState() {
super.initState();
_controller = AnimationController(vsync: this);
_controller.addListener(() {
print(_controller.value);
// if the full duration of the animation is 8 secs then 0.5 is 4 secs
if (_controller.value > 0.5) {
// When it gets there hold it there.
_controller.value = 0.5;
}
});
}
然后您的彩票小部件如下所示:
Lottie.asset(
'asset/path.json',controller: _controller,onLoaded: (comp){
_controller
..duration = comp.duration
..forward();
})
----------- 以前的答案 -----------
还没有机会检查这一点,但尝试将控制器添加到您的动画中并在 onLoaded 上使用 animateTo。
Lottie.asset(
'asset/path.json',onLoaded: (comp){
_controller.animateTo(frameNumber);
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。