当推送新页面时,我将数据加载到 initState 中。这导致过渡动画期间出现卡顿。这个问题在Android上尤为严重。
在本机反应中,我可以使用
InteractionManager.runAfterInteractions (() => {
// ... do some time-consuming operations ...
});
Run Code Online (Sandbox Code Playgroud)
flutter中有类似的方法吗?让我知道过渡动画完成了吗?
小智 8
在您的目标页面中,您可以获得 的实例ModalRoute。
ModalRoute有一个animation属性公开addStatusListener对动画生命周期事件做出反应。
以下示例可能对您有帮助:
Widget build(BuildContext context) {
var route = ModalRoute.of(context);
// Defining an internal function to be able to remove the listener
void handler(status) {
if (status == AnimationStatus.completed) {
print('Animation completed !');
route.animation.removeStatusListener(handler);
}
}
route.animation.addStatusListener(handler);
..
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2068 次 |
| 最近记录: |