我正在尝试将Navigator
作为ListView
小部件的子元素。我这样做是为了拥有一些静态的顶部内容(即带有导航选项的顶部导航栏),并在其下方包含一些基于Navigator
的路由的动态内容。我想使用ListView
代替Column
,以便能够滚动所有内容,包括顶部导航栏。
但是,我遇到了渲染异常,因为Navigator
小部件的内容没有边界,因此不能放置在ListView
内,因为它没有任何大小约束。
是否有任何变通办法以实现这种效果?
|------------------| ^
| STATIC NAVBAR | | SCROLL
|------------------| |
| | ^
| NAVIGATOR |
| CONTENT |
| |
|------------------|
答案 0 :(得分:0)
首先使用SingleChildScrollView
可能满足您的需求更好地滚动单个窗口小部件。
要解决渲染异常,您应该将ListView
或SingleChildScrollView
作为Navigator
的 child ,因为您想要的效果是滚动每个内容路由小部件。这不是唯一的方法,我只是认为您更容易管理每个子路线的约束。无论哪种方式,您都需要在垂直方向上的某个点上约束Navigator
的子级。
答案 1 :(得分:0)
您可以使用TabBar,以便实现您在问题中所指的导航。您可以将TabBar
放在bottom
的{{1}}属性中。
有关文档,您可以查看有关如何使用标签here
的官方文档我的工作示例:
Scaffold - AppBar()