我处于以下情况:
我有一个带有应用程序栏和选项卡栏的支架,在支架的主体中,我的TabBarView带有两个有状态的小部件作为选项卡,如下所示
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 2,
child: Scaffold(
appBar: AppBar(
bottom: TabBar(
tabs: [
Tab(text: "First"),
Tab(text: "Second"),
],
),
),
body: TabBarView(
children: <Widget>[
FirstWidget(),
SecondWidget(),
],
),
),
);
}
现在每个小部件都必须定义自己的操作以添加到应用程序栏,您如何习惯地将正确的操作设置给父支架?我曾尝试创建一个自定义的tabController并侦听事件,并在运行时交换按钮,但是似乎在其子行为和内部逻辑上赋予了Tab控制器责任。有没有一种方法可以查询支架并将操作设置为子控件中的应用栏(最终结束为浮动actionButton)(在示例中,我指的是FirstWidget
和SecondWidget
)。
我正在寻找类似Scaffold.of(context).setAppBarActions(...)
的东西。我发现this question非常相似,但是我不同意该解决方案,因为它要求父脚手架具有与行为有关的知识(并生成)小部件,并且我希望避免这种情况。 >
我处于以下情况:我有一个带有应用程序栏和选项卡栏的支架,在支架的主体中,我的TabBarView带有两个有状态的小部件作为选项卡,如下所示@override ...
您可以使用包提供程序来获取Scaffold.of(context).setAppBarActions(...)
之类的功能。