带有嵌套 TabBarView 的 Flutter ListView

Posted

技术标签:

【中文标题】带有嵌套 TabBarView 的 Flutter ListView【英文标题】:Flutter ListView with nested TabBarView 【发布时间】:2019-01-17 16:51:37 【问题描述】:

我正在尝试布局我的颤振应用程序,使其看起来像:

-ListView
  -WidgetA
  -DefaultTabBarController
    -Column
      -TabBar
      -Expanded
        -TabBarView
          -WidgetB
          -WidgetC

这样整个屏幕都是可滚动的,Widget A、B、C的内容可以变化,屏幕的高度不固定。

我能够使其工作的唯一方法是执行以下操作:

-ListView
  -WidgetA
  -Container (with fixed height)
    -Column
      -Expanded
        -DefaultTabBarController
          -Column
            -TabBar
            -Expanded
              -TabBarView
                -WidgetB
                -WidgetC

但我不想硬编码高度。有谁知道我如何做到这一点?

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,我认为我在使用灵活类而不是列的正确轨道上。 https://docs.flutter.io/flutter/widgets/Flexible-class.html 我也在使用 Slivers https://docs.flutter.io/flutter/widgets/SliverList-class.html 和 CustomScrollView 而不是 ListView https://docs.flutter.io/flutter/widgets/CustomScrollView-class.html

【讨论】:

所以?有什么解决办法吗? @JoelHernandez 很遗憾没有,我放弃了这种布局并选择只将我的用户带到一个新视图,因此我不必担心设置容器高度。

以上是关于带有嵌套 TabBarView 的 Flutter ListView的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 中如何同时使用 SliverPersistentHeader 和 TabBarView?

如何创建有界可滚动的 TabBarView

Flutter:SingleChildScrollView 内的 TabBarView

Flutter - 如何在 TabBarView 的主体内导航?

TabBarView 或 IndexedStack 用于 BottomNavigationBar - Flutter

Flutter学习 可滚动Widget 下