【问题标题】:Flutter column auto height by parent row父行的颤振列自动高度
【发布时间】:2018-11-24 05:26:03
【问题描述】:

我尝试使用列自动高度但仍然无法正常工作。

例子

  • 卡片

      • 扩展(flex:4)

        • NetworkImage(此图像的高度为 120)
      • 扩展(弹性:4)

        • 容器
          • 专栏(这是我需要的专栏)

所以我找到了必须使用扩展小部件的解决方案,所以我尝试了它并得到了异常

  • 卡片

      • 扩展(弹性:4)

        • NetworkImage(此图像的高度为 120)
      • 扩展(弹性:4)

        • 容器
          • 已扩展
            • 专栏(这是我需要的专栏)

扩展的小部件必须直接放置在 Flex 小部件中。 I/flutter (14383): Expanded(no depth, flex: 1, dirty) 有一个 Flex 祖先,但它们之间还有其他小部件: I/flutter (14383): - Expanded(flex: 4) (这是一个与问题不同的 Expanded) I/flutter (14383):这些小部件不能介于 Expanded 和它的 Flex 之间。

感谢您的帮助。

【问题讨论】:

    标签: android ios flutter flutter-layout


    【解决方案1】:

    这应该是因为您将其中一个Expanded 小部件添加到Container

    扩展小部件必须是 Row、Column 或 Flex 的后代,并且 从 Expanded 小部件到其封闭的 Row、Column 或 Flex 必须只包含 StatelessWidgets 或 StatefulWidgets(不能包含其他 各种小部件,例如 RenderObjectWidgets)。

    用 Column 替换容器应该可以解决它。

    【讨论】:

    • 谢谢,但是我使用Container来使用paddings,我会尝试将Container放在Expanded中。我还有一个问题,灵活与扩展之间有什么不同
    • 与 Expanded 不同,Flexible 不需要孩子填充可用空间:docs.flutter.io/flutter/widgets/Flexible-class.html
    猜你喜欢
    • 2019-12-03
    • 2020-07-01
    • 2021-07-27
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    相关资源
    最近更新 更多