动画支持

This commit is contained in:
toly
2023-04-22 08:16:56 +08:00
parent 8beb55146e
commit 88f535f3e8

View File

@@ -14,17 +14,25 @@ class ResultNotice extends StatefulWidget {
State<ResultNotice> createState() => _ResultNoticeState(); State<ResultNotice> createState() => _ResultNoticeState();
} }
class _ResultNoticeState extends State<ResultNotice> with SingleTickerProviderStateMixin{ class _ResultNoticeState extends State<ResultNotice> with SingleTickerProviderStateMixin {
late AnimationController controller; late AnimationController controller;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
controller = AnimationController(vsync: this,duration: const Duration(milliseconds: 200)); controller = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 200),
);
controller.forward(); controller.forward();
} }
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override @override
void didUpdateWidget(covariant ResultNotice oldWidget) { void didUpdateWidget(covariant ResultNotice oldWidget) {
controller.forward(from: 0); controller.forward(from: 0);
@@ -34,19 +42,21 @@ class _ResultNoticeState extends State<ResultNotice> with SingleTickerProviderSt
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Expanded( return Expanded(
child: Container( child: Container(
alignment: Alignment.center, alignment: Alignment.center,
color: widget.color, color: widget.color,
child: AnimatedBuilder( child: AnimatedBuilder(
animation: controller, animation: controller,
builder: (_,child) => Text( builder: (_, child) => Text(
widget.info, widget.info,
style: TextStyle( style: TextStyle(
fontSize: 54*(controller.value), fontSize: 54 * (controller.value),
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.bold), fontWeight: FontWeight.bold,
), ),
), ),
)); ),
),
);
} }
} }