我的Flex应用程序中列出了<s:List>
,它正在水平显示列表项,如下所示:
<s:List id="horzList">
<s:Layout>
<s:HorizontalLayout/>
</s:Layout>
<s:dataProvider>
<s:ArrayList>
<fx:String>Short Item</fx:String>
<fx:String>Looooonnnnggggeeerrrrr Item</fx:String>
<fx:String>A really, really, really long item for this list</fx:String>
</s:ArrayList>
</s:dataProvider>
</s:List>
使用change
事件,如何在水平列表中获取其中一个项目的宽度?
感谢您的时间。
答案 0 :(得分:0)
change
事件处理程序。就像旁注一样,我的实际应用程序使用项呈示器和外部数据源。话虽这么说,我不知道下面的代码是否会起作用,除非你使用的是项目渲染器:
private function changeHandler(e:IndexChangeEvent):void {
var index:int = horzList.selectedIndex;
var selected:IVisualElement = horzList.dataGroup.getElementAt(index);
var width:Number = selected.width;
//Do something with the width...
}
这个答案对我很有帮助:https://stackoverflow.com/a/4035185/663604
希望能有所帮助。