父行的颤振列自动高度

Posted

技术标签:

【中文标题】父行的颤振列自动高度【英文标题】: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 之间。

感谢您的帮助。

【问题讨论】:

【参考方案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

以上是关于父行的颤振列自动高度的主要内容,如果未能解决你的问题,请参考以下文章

颤振将列拉伸到全屏高度

Twitter Bootstrap Css根据父行流体修复孩子的高度

隐藏网格列改变行的高度

需要列来填充行的高度

wpf Grid布局

如何在列表视图中为带有自动换行的可变多行长文本自动调整项目高度?