Я пытался создать контейнер, который будет переходить слева направо, увеличиваясь в размерах, пока не достигнет центра, а после достижения центра он уменьшится в размере. Я пытался использовать два контроллера и больше Tween-ов, но не нашел результата.
`import 'package:flutter/material.dart';
import 'package:flutter/animation.dart';
class Basic_animation_view extends StatefulWidget {
@override
_Basic_animation_viewState createState() => _Basic_animation_viewState();
}
class _Basic_animation_viewState extends State<Basic_animation_view>
with TickerProviderStateMixin {
AnimationController controller;
Animation<Offset> animation;
Animation<Size> growAnimation;
@override
void initState() {
super.initState();
controller =
AnimationController(vsync: this, duration: const Duration(seconds: 3))
..addListener(() {
setState(() {});
});
animation = Tween<Offset>(begin: Offset(0, 0), end: Offset(5, 0))
.animate(controller);
growAnimation =
Tween<Size>(begin: Size(50.0, 50.0), end: Size(100.0, 100.0))
.animate(CurvedAnimation(parent: controller,curve: Curves.linear));
controller.repeat();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
SlideTransition(
position: animation,
child: Container(***strong text***
width:growAnimation.value.width,
height:growAnimation.value.height,
color: Colors.red,
),
),
],
));
}
}
`