如果我想通过调整孩子的大小来实现Widget的大小,我该怎么做?
不知何故,我需要推迟测量,直到所有孩子都弄清楚他们的体型。
答案 0 :(得分:2)
您可以使用CustomMultiChildLayout
或CustomSingleChildLayout
创建自定义布局。
或者,如果这符合您的需求,请使用IntrinsicWidth
/ IntrinsicHeight
小部件。
自定义布局基本上是Stack
,只有定位的子项。孩子们选择他们的大小,然后布局选择他们的位置。
但它有一个限制。布局大小不能取决于它的子项大小。
Instrinsinc
小部件更简单但也更有限。
一个用例是将Row
小部件包装在IntrincWidget
中,以模拟css display: flex; align-items: stretch;
如果您需要更复杂的内容,则需要创建自己的RenderObject
。
是的,这是违反直觉的。