import 'package:flutter/material.dart'; import 'package:mymuseum_visitapp/constants.dart'; class Loading extends StatefulWidget { const Loading({Key? key}) : super(key: key); @override State createState() => _LoadingState(); } class _LoadingState extends State with TickerProviderStateMixin { late AnimationController _controller; @override void initState() { _controller = AnimationController( duration: const Duration(milliseconds: 5000), vsync: this, )..repeat(); super.initState(); } @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { Size size = MediaQuery.of(context).size; _controller.forward(from: 0.0); _controller.addListener(() { if (_controller.isCompleted) { _controller.reverse(); } if(_controller.isDismissed){ _controller.forward(); } }); return Center( child: RotationTransition( turns: Tween(begin: 0.0, end: 3.0).animate(_controller), child: Icon(Icons.museum_outlined, color: kBlue2, size: size.height*0.05), ), ); } }