在 Flex4 中,我们使用 Grid、GridRow 和 GridItem 来布局我们屏幕的组件。大多数屏幕看起来都还不错,但也有不少屏幕在标签和字段之间留有大量空间。这主要发生在我们想要类似以下场景时......
Name [____________]
Age [__]
Gender [_]
Details
[__________________________________________]
[__________________________________________]
[__________________________________________]
|<col 1>|<------------ col 2 ------------->|
|<---------- grid and row width ---------->|
...其中标签位于第一列,前三个字段位于第二列,底部三个字段跨越两列。上面是我们希望它出现的样子,但是 Flex 将它渲染成这样......
Name [____________]
Age [__]
Gender [_]
Details
[__________________________________________]
[__________________________________________]
[__________________________________________]
|<--- col 1 --->|<-------- col 2 --------->|
|<---------- grid and row width ---------->|
我们无法在每个屏幕中设置单独的列宽,因为 a)有数千个屏幕,b)标签和组件可以国际化。
我无法完全计算出他们用来为每列分配宽度的算法,但我认为它会在每列中查找最宽的组件,然后使用它们为每列分配适当的比例宽度。
我们想要的只是让每一列尽可能地薄,这样它就只包含最宽的部分(当然忽略那些跨度的部分),并且没有任何额外的空白。有谁知道如何达到这个结果?