我有一个AppBar小部件在我的小部件树的顶部。我想用一个孩子的小部件的appbar "覆盖"这个AppBar。我查找了InheritedWidget,但不喜欢它,因为我不喜欢一直管理状态。我如何有效地-用最少的代码量-克服这个问题呢?
- 主省道**
... Scaffold(appBar: AppBar(title: 'My App'), body: ChildPage())
........
- 子页面. dart**
... Scaffold(appBar: AppBar(title: 'My App'), leading: ..., actions: ...)
1条答案
按热度按时间xqkwcwgp1#
如果我理解正确的话,您希望有一个父屏幕,其中包含多个子屏幕,这些子屏幕共享父屏幕属性并对其进行自定义。
首先,根据API Documentation,单个屏幕/路径不应有多个Scaffold。
Scaffold被设计为MaterialApp的顶级容器。这意味着将Scaffold添加到Material App上的每个路径将为该App提供Material的基本视觉布局结构。
因此,你的问题的简短答案是,没有办法完全实现你所要求的。
不过也有一些替代方案。
举个简单的例子: