在这段代码中,我尝试用
SlideTransition
做一个简单的递增数字,但它不能正常工作,我只能使用ScaleTransition
成功。这意味着我想用SlideTransition
增加数量
class TestScreen extends StatefulWidget {
const TestScreen({super.key});
@override
State<TestScreen> createState() => _TestScreenState();
}
class _TestScreenState extends State<TestScreen> with SingleTickerProviderStateMixin {
int num = 0;
late final AnimationController _animationController = AnimationController(
duration: Duration(milliseconds: 750),
vsync: this)
..forward();
static final offset1 = Tween<Offset>(begin: Offset.zero, end: Offset(0, -1));
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Container(
width: double.infinity,
height: double.infinity,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
AnimatedSwitcher(
duration: Duration(milliseconds: 1000),
transitionBuilder: (child, animation) => SlideTransition(
position: (offset1).animate(animation),
child: child,
),
child: Text(
key: ValueKey(num),
'$num',
style: TextStyle(color: Colors.black, fontSize: 64.0),
),
),
ElevatedButton(
onPressed: () {
setState(() {
num++;
});
},
child: Text('increment'),
),
],
),
),
);
}
}