Spark List控件测量错误的高度

时间:2013-07-05 12:50:16

标签: list flex air flex-spark measure

我正在使用Flex / AIR开发桌面应用程序,我遇到了Spark List控件的问题。

案例如下: 我有一个包含项目渲染器的列表。我不使用itemRendererFunction,所以我只有一种类型的渲染器。但是,此渲染器可以具有不同的大小,具体取决于连接到它的数据类型。请参阅我的ItemRenderer的代码:

<s:HGroup verticalAlign="middle">
    <s:CheckBox id="glazingNorthCheckBox" selected="false"/>
    <s:TextInput  text="{data is VerticalSolidComponent ? data.window.areaNorth : data.skylight.area}"/>
    <s:Label text="m²"/>
</s:HGroup>
<s:HGroup verticalAlign="middle" includeInLayout="{data is VerticalSolidComponentWithGlazing}" 
visible="{data is VerticalSolidComponentWithGlazing}">
    <s:CheckBox id="glazingEastCheckBox" selected="false"/>
    <s:TextInput text="{data.window.areaEast}"/>
    <s:Label text="m²"/>
</s:HGroup>

因此,您看到第二个HGroup并不总是包含在布局中。 这就是为什么我的列表计算错误的高度。

在这里您可以看到列表的代码:

<s:List id="solidComponentsList" dataProvider="{data.solidComponents}" itemRenderer="View.BuildingGeometry.DetailView.SolidComponentItemRenderer" skinClass="View.Skins.CustomListSkin" useVirtualLayout="true">
    <s:layout>
        <s:VerticalLayout gap="10" horizontalAlign="left" variableRowHeight="true" useVirtualLayout="true" paddingTop="20" paddingLeft="20" requestedMaxRowCount="4"/>
    </s:layout>     
</s:List>

您能否就如何计算清单的正确尺寸给我一些建议?

提前谢谢!

0 个答案:

没有答案