Я новичок во флаттере, может кто-нибудь сказать, как можно использовать несколько экземпляров animation
для использования отдельных animation.value
в разных виджетах, например, я использую его здесь как width: animation.value
, любая помощь приветствуется
.....
controller =
AnimationController(vsync: this, duration: Duration(milliseconds: 300));
animation = Tween<double>(begin: 0, end: 200).animate(controller)
..addListener(() {
setState(() {});
});
.......
Widget build(BuildContext context) {
return Scaffold(
body: Row(
children: <Widget>[MouseRegion(
onEnter: (hovered) {
controller.forward();
},
onExit: (hovered) {
controller.reverse();
},
child: Container(
color: Colors.black,
child: Stack(
children: <Widget>[
AnimatedContainer(
padding: EdgeInsets.all(5),
color: Colors.red.shade300,
duration: Duration(milliseconds: 300),
curve: Curves.decelerate,
height: 5,
width: animation.value,
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
"About",
softWrap: false,
style: TextStyle(
color: Colors.white, fontSize: 18),
),
),
],
),
),
),
MouseRegion(
onEnter: (hovered) {
controller.forward();
},
onExit: (hovered) {
controller.reverse();
},
child: Container(
color: Colors.black,
child: Stack(
children: <Widget>[
AnimatedContainer(
padding: EdgeInsets.all(5),
color: Colors.red.shade300,
duration: Duration(milliseconds: 300),
curve: Curves.decelerate,
height: 5,
width: animation.value,
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
"About",
softWrap: false,
style: TextStyle(
color: Colors.white, fontSize: 18),
),
),
],
),
),
),],);}