Flutter Deep Dive,第2部分:“ RenderFlex子项的非零flex …”

本文是由四个部分组成的系列文章的一部分。 您可以在这里找到其他人:

本文是由四个部分组成的系列文章的一部分。 您可以在这里找到其他人:

  • 第1部分:“ RenderFlex孩子……”,走进婴儿游泳池
  • 第2部分:突降
  • 第3部分:Flex不是Flex
  • 第4部分:Flex布局算法

欢迎阅读我们系列中有关处理RenderFlex和Flutter中其他类似错误的第二部分。 在这里,我们将看一下布局过程中进行的基本“对话”,概述Flutter的“三层蛋糕”,我将为您介绍我们将要研究的小部件。在第3部分中有更多内容。

因此,请喝一杯(也许还有一些止痛药),让我们开始吧!

暴跌

在第1部分中,我们涉足了婴儿游泳池,但在这里我们要深入得多。 我认为没有比从通过人类可以理解的术语来解释发生的事情更好的起点了。

首先,您想了解有一些小工具依赖于其他小工具来告诉他们大小。 这些小部件包括FlexColumnRowSingleChildScrollViewList

在Flutter中布置UI元素时,会进行某种“对话”。 让我们来看看…

在我们的示例中,我们有三个小部件。 第一个是“父母”。 父母既有孩子又有祖父母。 父是需要告知大小的小部件之一,因为就像真正的父一样,它也不知道发生了什么。

  • 父母的祖父母:“您想当几岁? 一直到无限都可以随心所欲。”
  • 祖父母或外祖父母:“让我就此与您联系。”
  • 父母与孩子:“您想成为什么尺寸?”
  • 从孩子到父母:“我希望尽可能地大,使我达到最大的规模!”

父母很困惑,看着地面。 祖父母没有告诉孩子要多大,孩子也没有告诉孩子要多大,try / catch块中唯一的一件事是比尔对Taco Tuesday发表了三个月大的评论。

这是当Magic Smoke从笔记本电脑中泄漏出来时,屏幕变黑,而测试设备显示“红色的死亡屏幕”。

发生了什么事,孩子想“屈曲”到无穷大( 孩子有非零的flex ),祖父母说它可以像它想要的一样大( 但是传入的高度限制是无限的 )。

现在这是否更有意义? 好。 现在您已经掌握了基本知识,将一条绳子绑在腰上,让我们真正地跳入兔子洞。