首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有人能解释一下这句话吗?

有人能解释一下这句话吗?
EN

Stack Overflow用户
提问于 2021-03-08 11:31:09
回答 1查看 87关注 0票数 1

“在无限制的约束条件下,它们试图使自己的孩子适应这个方向。在这种情况下,您不能将子部件上的flex设置为0以外的任何东西(默认值)。在小部件库中,这意味着当flex框位于另一个flex框内或在可滚动的内部时,您不能使用展开。如果这样做了,您将收到一条异常消息指向该文档。”

https://flutter.dev/docs/development/ui/layout/box-constraints#flex

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-08 17:00:14

列或行的默认(主轴)大小是包含其子行的最小大小。通常这些孩子的身高是固定的。例如,如果该列有3个50高度的子列,则该列的高度将为150。但是灵活的小部件是个例外。

灵活的小部件通过将可用空间除以其弹性因子来计算它们的大小。如果包含灵活小部件的列不受约束,则此可用空间是无限的。所以无限/挠曲因子仍然是无穷大。(实际上,您得到的是一个异常,而不是无限大小的小部件)

这个问题的解决方案是将列或行小部件放入一个固定大小的小部件中。

例如,:您想要创建一个高度为500的列,其中两个子列的高度为50,另一个则填充可用的空间。您可以将列小部件包装在500个大小的盒子中,并在扩展的小部件中包装第3号子部件。扩展的小部件填充所有剩余的空间。代码:

代码语言:javascript
运行
复制
SizedBox(
    height: 500,
    child: Column(
      children:
      [
        Container(height: 50, color: Colors.red,),
        Container(height: 50, color: Colors.blue,),
        Expanded(child: Container(color: Colors.green)),
      ],
    ),
  ),

此代码的结果

这些视频介绍了灵活扩展小部件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66529033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档