From 8beb55146ef1c3b8f17e11c91e4c40b84c5ace0b Mon Sep 17 00:00:00 2001 From: toly <1981462002@qq.com> Date: Wed, 19 Apr 2023 07:36:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/guess/result_notice.dart | 44 ++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/lib/guess/result_notice.dart b/lib/guess/result_notice.dart index 65fdccb..18dd0b8 100644 --- a/lib/guess/result_notice.dart +++ b/lib/guess/result_notice.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -class ResultNotice extends StatelessWidget { +class ResultNotice extends StatefulWidget { final Color color; final String info; @@ -10,17 +10,43 @@ class ResultNotice extends StatelessWidget { required this.info, }) : super(key: key); + @override + State createState() => _ResultNoticeState(); +} + +class _ResultNoticeState extends State with SingleTickerProviderStateMixin{ + + late AnimationController controller; + + @override + void initState() { + super.initState(); + controller = AnimationController(vsync: this,duration: const Duration(milliseconds: 200)); + controller.forward(); + } + + @override + void didUpdateWidget(covariant ResultNotice oldWidget) { + controller.forward(from: 0); + super.didUpdateWidget(oldWidget); + } + @override Widget build(BuildContext context) { return Expanded( child: Container( - alignment: Alignment.center, - color: color, - child: Text( - info, - style: TextStyle( - fontSize: 54, color: Colors.white, fontWeight: FontWeight.bold), - ), - )); + alignment: Alignment.center, + color: widget.color, + child: AnimatedBuilder( + animation: controller, + builder: (_,child) => Text( + widget.info, + style: TextStyle( + fontSize: 54*(controller.value), + color: Colors.white, + fontWeight: FontWeight.bold), + ), + ), + )); } }