Я пытаюсь сделать небольшую игру во Флаттере, в которой мне нужно повернуть FittedBox
(родительский элемент изображения), который находится внутри Grid
, как показано в приведенном ниже коде.
child: new AnimatedBuilder(
animation: animationController,
child: new InkWell(
onTap: () {
// setState(
// () {
widget._angleCode = getNextDegree(widget._angleCode);
animationController.forward();
//checkAnswer();
// },
// );
},
child: new FittedBox(
fit: BoxFit.fill,
child: new Image.asset(getImageByCode(widget._image),
fit: BoxFit.cover)),
),
builder: (BuildContext context, Widget _widget) {
animationController.value = getAngleByCode(widget._angleCode); //returns 0,.5,.75 consequtively
return new Transform.rotate(
angle: animationController.value * 2 * pi,
child: _widget,
);
},
),
Хотя приведенный выше код делает поворот изображения НО без анимации преобразования. Я переопределил свой класс с помощью SingleTickerProviderStateMixin
и реализовал initState (), как показано ниже:
@override
void initState() {
super.initState();
animationController = new AnimationController(
vsync: this,
duration: new Duration(seconds: 2),
);
//animationController.forward();
}
Как я могу оживить вращение?