Flutter的动态AppBar

时间:2018-12-11 22:54:01

标签: dart flutter

我必须动态更改AppBar的外观和项目(通过点击另一个UI元素)。 最好的方法是什么?

我测试了几种方法。例如,

return Scaffold(
      appBar: StreamBuilder(
          stream: bloc.tasks,
          builder: (context, AsyncSnapshot<List<UserTask>> tasks) {
            return new AppBar();/// my setup is here
          }),

但这显然不能编译。

1 个答案:

答案 0 :(得分:3)

appBar需要一个实现PreferredSizeWidget的小部件,而StreamBuilder不是一个。

您可以将该树包装成PreferredSize

Scaffold(
  appBar: PreferredSize(
    preferredSize: const Size(double.infinity, kToolbarHeight),
    child: // StreamBuilder
  ),
)