Flutter中Column嵌套ListView报错处理方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter中Column嵌套ListView报错处理方案相关的知识,希望对你有一定的参考价值。

参考技术A 开发中使用ListView循环嵌套或者使用Column嵌套ListView会产生hassize报错
原因是因为ListView没有固定尺寸导致

可以在ListView中进行如下操作即可解决:(根据内部子widget尺寸,自动撑起整个ListView)

如果内部嵌套的是Column

带有嵌套 TabBarView 的 Flutter ListView

【中文标题】带有嵌套 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 很遗憾没有,我放弃了这种布局并选择只将我的用户带到一个新视图,因此我不必担心设置容器高度。

以上是关于Flutter中Column嵌套ListView报错处理方案的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 常见问题总结

带有嵌套 TabBarView 的 Flutter ListView

在 Column Flutter 中居中展开 ListView

Flutter - 使用 Column/Expanded/ListView 的布局问题

Flutter ListView冲突 Column EasyRefresh

flutter Column 中包含ListView高度设置问题