Flex4では、Grid、GridRow、およびGridItemを使用して画面のコンポーネントをレイアウトします。ほとんどの画面は問題ないように見えますが、ラベルとフィールドの間に大きなスペースがある状態で表示される画面もかなりあります。これは主に、次のシナリオのようなものが必要な場合に発生します...
Name [____________]
Age [__]
Gender [_]
Details
[__________________________________________]
[__________________________________________]
[__________________________________________]
|<col 1>|<------------ col 2 ------------->|
|<---------- grid and row width ---------->|
...ラベルが最初の列にあり、上の3つのフィールドが2番目の列にあり、下の3つのフィールドが両方の列にまたがっています。上記はどのように表示したいかですが、Flexはこのようにレンダリングします...
Name [____________]
Age [__]
Gender [_]
Details
[__________________________________________]
[__________________________________________]
[__________________________________________]
|<--- col 1 --->|<-------- col 2 --------->|
|<---------- grid and row width ---------->|
a)何千もの画面があり、b)ラベルとコンポーネントを国際化できるため、各画面に個別の列幅を設定することはできません。
各列に幅を割り当てるために使用するアルゴリズムを完全に理解することはできませんが、各列で最も幅の広いコンポーネントを探し、これらを使用して各列に適切な比例幅を割り当てると思います。
必要なのは、各列をできるだけ薄くして、最も幅の広いコンポーネントのみを含み(もちろん、スパンするコンポーネントは無視する)、余分な空白を含まないようにすることです。誰かがこの結果を達成する方法を知っていますか?