更改Flex Grid中的列宽
问题描述:
我正在使用mx.containers.Grid来布局一些数据,而最后一列是一组复选框。 MXML代码片段:更改Flex Grid中的列宽
<mx:Grid width="95%" height="50%">
<mx:GridRow id="row1">
<mx:GridItem>
<mx:Label id="label1" ... />
</mx:GridItem>
<mx:GridItem>
<mx:Label id="textValue1" ... />
</mx:GridItem>
<mx:GridItem>
<mx:CheckBox id="checkBox1" />
</mx:GridItem>
</mx:GridRow>
<mx:GridRow id="row2">
<mx:GridItem>
<mx:Label id="label2" ... />
</mx:GridItem>
<mx:GridItem>
<mx:Label id="textValue2" ... />
</mx:GridItem>
<mx:GridItem>
<mx:CheckBox id="checkBox2" />
</mx:GridItem>
</mx:GridRow>
<mx:GridRow id="row3">
<mx:GridItem>
<mx:Label id="label3" ... />
</mx:GridItem>
<mx:GridItem>
<mx:Label id="textValue3" ... />
</mx:GridItem>
<mx:GridItem>
<mx:CheckBox id="checkBox3" />
</mx:GridItem>
</mx:GridRow>
</mx:Grid>
基本上,我想不过标签&文本值对齐网格组件认为合适。但是,我希望复选框右对齐。我试过将textValues的宽度设置为100%,它什么都不做。我不想使用硬编码的像素值/画布/等,因为重要的是这很容易更改/更新。
答
我找到了一个解决方案,但它是一种破解。基本上
<mx:Grid width="95%" height="50%">
<mx:GridRow id="row1" width="100%">
<mx:GridItem>
<mx:Label id="label1" ... />
</mx:GridItem>
<mx:GridItem>
<mx:Label id="textValue1" ... />
</mx:GridItem>
<mx:GridItem>
<mx:CheckBox id="checkBox1" width="100%" horizontalAlign="right" />
</mx:GridItem>
</mx:GridRow>
<mx:GridRow id="row2" width="100%">
<mx:GridItem>
<mx:Label id="label2" ... />
</mx:GridItem>
<mx:GridItem>
<mx:Label id="textValue2" ... />
</mx:GridItem>
<mx:GridItem>
<mx:CheckBox id="checkBox2" width="100%" horizontalAlign="right"/>
</mx:GridItem>
</mx:GridRow>
<mx:GridRow id="row3" width="100%">
<mx:GridItem>
<mx:Label id="label3" ... />
</mx:GridItem>
<mx:GridItem>
<mx:Label id="textValue3" ... />
</mx:GridItem>
<mx:GridItem>
<mx:CheckBox id="checkBox3" width="100%" horizontalAlign="right"/>
</mx:GridItem>
</mx:GridRow>
</mx:Grid>
,添加“WIDTH =‘100%’:”每一个GridRow,然后添加“WIDTH =‘100%’:但我会后谁是有同样的问题的人,因为我是horizontalAlign =“right”'给每个你想要对齐的GridItem。
答
尝试将GridRow/GridItem的宽度设置为100%。