AnimatedBuilder Widget
Project Preview
- Interested in seeing the live demo? Click here to explore.
- Want to view the source code? Visit the project on GitHub.
Code Snippet
import 'package:flutter/material.dart';
// math
import 'dart:math' as math;
class AnimatedBuilderWidget extends StatefulWidget {
const AnimatedBuilderWidget({super.key});
@override
State<AnimatedBuilderWidget> createState() => _AnimatedBuilderWidgetState();
}
class _AnimatedBuilderWidgetState extends State<AnimatedBuilderWidget>
with TickerProviderStateMixin {
late final AnimationController _controller = AnimationController(
duration: const Duration(seconds: 10),
vsync: this,
)..repeat();
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("AnimatedBuilder Widgets"),
),
body: Center(
child: AnimatedBuilder(
animation: _controller,
child: const FlutterLogo(
size: 100,
),
builder: (BuildContext context, Widget? child) {
return Transform.rotate(
angle: _controller.value * 2.0 * math.pi,
child: child,
);
},
),
),
);
}
}