动画
This commit is contained in:
@@ -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<ResultNotice> createState() => _ResultNoticeState();
|
||||
}
|
||||
|
||||
class _ResultNoticeState extends State<ResultNotice> 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),
|
||||
),
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user