我正在尝试自动调整s:Group中的子项的大小。孩子们是另一个人:集团和H:集团。每个的百分比宽度分别为10%和90%。问题是当其中一个组调整大小(使用Skin中的过渡和旋转组合)时,另一个组不会自动调整大小以填充空间?
Flex不应该自动执行此操作吗?或者我必须编码吗?
<s:Group
id="listsGroup"
width="100%"
height="255"
>
<s:Label text="LIST WITH HEADER TEST" styleName="h1" />
<s:Group
id="listsGroupSavedSearches"
width="10%"
height="255"
>
<components1:ListWithHeader
id="categories11"
dataProvider="{listModel}"
headerLabel="Saved Searches"
allowMultipleSelection="true"
top="10" bottom="0"
left="0" width="10%"
/>
</s:Group>
<s:HGroup left="160" width="90%" height="150" top="50" gap="6">
<components1:ListWithHeader
id="categories1"
dataProvider="{listModel}"
headerLabel="Category1 "
allowMultipleSelection="true"
width="100%"
height="150"
/>
<components1:ListWithHeader
id="categories2"
dataProvider="{listModel}"
headerLabel="Category2"
allowMultipleSelection="true"
width="100%"
height="150"
/>
<components1:ListWithHeader
id="categories3"
dataProvider="{listModel}"
headerLabel="Category3"
allowMultipleSelection="true"
width="100%"
height="150"
/>
</s:HGroup>
</s:Group>
答案 0 :(得分:0)
解决此类问题的最佳方法是绑定Flex Component生命周期方法,特别是updateDisplayList()。 UpdateDisplayList()用于定位和调整子项的大小。它有两个参数,即组件的高度和宽度。然后,您可以根据组件的高度和宽度编写算法来确定子项的大小和位置。
MXML在幕后做这一切,有点像黑魔法一样;但如果您自己编写布局代码,您将获得更多控制权。