动画切换器和Bloc Builder

时间:2019-11-07 13:25:41

标签: flutter bloc

im是颤动中团块图案的新手。

我的一个状态类有一个小部件列表和一个索引作为字段。我的目标是使用该状态的小部件来更新Animated Switcher的子级。

return AnimatedSwitcher(
  duration: Duration(milliseconds: 500),
  child: BlocBuilder<WelcomeBloc, WelcomeBlocState>(
    builder: (context, state) {

      if(state is MyState)
        return state.widgetList[state.index];

      else return Container();

    },
  ),
);

我也尝试过另一种方法,在bloc生成器中返回动画切换器,结果是相同的

调用yield时,将更改小部件,但不添加任何动画。

我想念什么?

1 个答案:

答案 0 :(得分:0)

AnimatedSwitcher的子小部件必须更改:

return BlocBuilder<WelcomeBloc, WelcomeBlocState>(
  builder: (context, state) {
    return AnimatedSwitcher(
      duration: Duration(milliseconds: 500),
      child: state is MyState ? state.widgetList[state.index] : Container(key: Key('key2')),
    );
  },
);

不要忘记为子窗口小部件设置不同的键。