@override Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Container( width: _bigger ? 100 : 500, child: Image.asset('assets/star.png'), ), RaisedButton( onPressed: () => setState(() { _bigger = !_bigger; }), child: Icon(Icons.star), ), ], ); }
AnimatedContainer( width: _bigger ? 100 : 500, child: Image.asset('assets/star.png'), duration: Duration(seconds: 1), ),
AnimatedContainer( decoration: BoxDecoration( gradient: RadialGradient( colors: [Colors.purple, Colors.transparent], stops: [ _bigger ? 0.2 : 0.5, 1.0]) ), ),
AnimatedContainer( width: _bigger ? 100 : 500, child: Image.asset('assets/star.png'), duration: Duration(seconds: 5), ),
AnimatedContainer( width: _bigger ? 100 : 500, child: Image.asset('assets/star.png'), duration: Duration(seconds: 1), curve: Curves.easeInOutQuint, ),
class SineCurve extends Curve { final double count; SineCurve({this.count = 1}); @override double transformInternal(double t) { return sin(count * 2 * pi * t) * 0.5 + 0.5; } }