这是一个特定示例,需要其他帖子中的案例 2 和案例 3 如何在构建阶段使用其他小部件的约束和大小
-------------------------基本层次结构------------------------- ——
main [FLEX] child 1:红色(扩展) child 2:紫色(未扩展,但遵守其最小约束)[FLEX] ------child 1:green(未扩展,按预期工作)--- ---孩子 2:黄色(我希望它填充紫色可用的其余空间,但系统不会让我只使用扩展)
- - - - - - - - - - - - -目标 - - - - - - - - - - - - ——
我希望黄色框填充紫色框内的其余可用空间。
注意:非常具体的小部件组合不允许我将黄色容器包装在展开的小部件中
-------------------------为什么我不能使用扩展-------------------- -----
如果我将黄色小部件包装在扩展中,它会引发错误......这就是为什么......
在这种特殊情况下,我在 flex child 1(of main) 中有 2 个容器:红色的容器正在膨胀,所以... child 2(of main):紫色的容器试图收缩包裹它的孩子并占用最少的空间尽可能,但技术上它没有最大约束(只有最小约束,这就是为什么仍然有一些紫色可见)
紫色的孩子也是一个 flex 并且有 2 个孩子,因为紫色的 flex 试图收缩包裹它的孩子,它会告诉它的孩子做同样的孩子 1(紫色):绿色容器这样做并且很好,因为我想要它这样做但是......孩子2(紫色):我希望黄色容器填充紫色用其最小宽度参数创建的空间
问题是黄色容器紫色父级告诉它收缩包装它的孩子(如上所述)但是如果我把它包装在一个扩展的小部件中,你是在告诉黄色容器扩展或者换句话说不收缩包装它的孩子.. . 并且黄色容器既可以收缩包装也可以不收缩包装其子项,因此您会收到错误
所以......我需要知道紫色容器的计算宽度然后绿色容器的计算宽度然后我的黄色容器的宽度将是yellow.width = Purple.width - green.width
-------------------------代码输出--------------- ——
-------------------------MAIN.DART---------------------- --- …