Запустить анимацию после восстановления потребителя - PullRequest
0 голосов
/ 19 сентября 2019

Я хочу сделать мигание фона метки синим цветом (прозрачный -> синий -> прозрачный) после перестройки Consumer Builder.Но если я реализую это так, он не покажет фоновую вспышку.Вместо этого я использую _colorAnimationController.repeat (), он может успешно мигать.Я думаю, что это может быть связано с тем, что виджет еще не закончил перестроить, когда я вызываю _colorAnimationController.forward ().

Я хочу спросить, есть ли какой-нибудь слушатель, которого я могу знать, когда переслать анимацию или подход, который я могусделать после того, как Consumer перестроит виджет.

Widget getTextWidget(){
return Consumer<LoginModel>(
builder: (context, loginModel, widget){
//I want to forward the animation after Consumer builder rebuild
_colorAnimationController.reset();
_colorAnimationController.forward();

return AnimatedBuilder(
            animation: _colorAnimationController,
            builder: (context, child) {
              return getPwdRow();
            });
}
);
}

Widget getPwdRow() {
    return Container(
      child: Row(
        children: <Widget>[
          Text(
            "Password: ",
          ),
          Flexible(
            child: TextField(
              controller: _pwdTextEdittingController,
              keyboardType: TextInputType.text,
              obscureText: true,
            ),
          ),
        ],
      ),
      color:dropBackground.evaluate(AlwaysStoppedAnimation(_colorAnimationController.value)),
    );
  }
...