peer ab/group tab refresh, animated refresh icon

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages
2023-06-21 11:51:35 +08:00
parent ec9062f505
commit 0bda66dd7f
5 changed files with 81 additions and 27 deletions

View File

@@ -0,0 +1,30 @@
import 'package:flutter/material.dart';
class AnimatedRotationWidget extends StatefulWidget {
final VoidCallback onPressed;
final ValueChanged<bool>? onHover;
final Widget child;
const AnimatedRotationWidget(
{super.key, required this.onPressed, required this.child, this.onHover});
@override
State<AnimatedRotationWidget> createState() => AnimatedRotationWidgetState();
}
class AnimatedRotationWidgetState extends State<AnimatedRotationWidget> {
double turns = 0.0;
@override
Widget build(BuildContext context) {
return AnimatedRotation(
turns: turns,
duration: const Duration(milliseconds: 200),
child: InkWell(
onTap: () {
setState(() => turns += 1.0);
widget.onPressed();
},
onHover: widget.onHover,
child: widget.child));
}
}