Используйте AnimatedBuilder
AnimatedBuilder(
animation: _animation, // pass AnimationController to it
child: YourContainer(),
builder: (_, child) {
return Transform.rotate(
angle: _animation.value * play_around_with_values,
child: child,
);
},
)
Снимок экрана:
Полный код:
class _MainPageState extends State<MainPage> with SingleTickerProviderStateMixin {
AnimationController _controller;
@override
void initState() {
super.initState();
_controller = AnimationController(vsync: this, duration: Duration(seconds: 2))..repeat();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Center(
child: AnimatedBuilder(
animation: _controller,
builder: (_, child) {
return Transform.rotate(
angle: _controller.value * 2 * math.pi,
child: child,
);
},
child: FlutterLogo(size: 200),
),
),
);
}
}