waitForAnimationsComplete method
等待所有动画完成
Implementation
Future<void> waitForAnimationsComplete() async {
if (!isBound) return;
final animatingPositions = _state!.isAnimating.entries
.where((entry) => entry.value)
.map((entry) => entry.key)
.toList();
if (animatingPositions.isEmpty) return;
// 等待所有动画控制器完成
final futures = <Future>[];
for (final position in animatingPositions) {
final controller = _state!.animationControllers[position];
if (controller != null) {
futures.add(controller.isAnimating
? controller.isCompleted
? Future.value()
: controller.forward().orCancel
: Future.value());
}
}
if (futures.isNotEmpty) {
await Future.wait(futures);
}
}