5.2.为List的某项设置图标

5.2.1问题
用list 提供的数据为以itemRenderer 为基础的List 控件设置图标
5.2.2 解决方法
使用List 组件的iconFunction 属性,并创建一个方法用来返回以类的型式嵌入的图片
5.2.3 讨论
iconFunction 是一个描述嵌入图片并返回类对象的方法,嵌入的图片由list 组件中的itemRenderer 使用,iconFunction 的用法是简单地定义的方法名传递,例如:setIcon 是一个定义来接收值的方法名;
+展开
-ActionScript
iconFunction="setIcon"

iconFunction 常常传递dataProvider 的索引中对象的值
+展开
-ActionScript
private function setIcon(value:*):Class

在iconFunction 方法中,dataProvider 的索引中数据对象的所有信息都会被传递,iconFunction 返回将被渲染器创建的图标的类对象,完整的示例如下:
+展开
-XML
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxmlwidth="400height="300">
<mx:Script>
<![CDATA[
[Bindable]
private var dp:Array = [{name:"John Smith" , position:"developer" }
, {name:"Ellen Smith" , position:"manager" }
, {name:"James Smith" , position:"accountant" }
,{name:"Jane Smith" , position:"designer" }];
[Embed(source="../../assets/manager.png")]
private var managerIcon:Class;
[Embed(source="../../assets/designer.png")]
private var designerIcon:Class;
[Embed(source="../../assets/accountant.png")]
private var accountantIcon:Class;
[Embed(source="../../assets/developer.png")]
private var developerIcon:Class;
private function setIcon(value:*):Class {
if (value.position != null){
switch (value.position) {
case "developer" : return developerIcon; break ;
case "designer" : return designerIcon; break ;
case "accountant" : return accountantIcon; break ;
case "manager" : return managerIcon; break ;
}
}
return null ;
}

]]>
</mx:Script>
<mx:List width="200selectedIndex="6id="listImplselectionColor="#CCCCFFlabelField="namedataProvider="{dp}editable="trueiconFunction="setIcon"/>
</mx:Canvas>

加支付宝好友偷能量挖...


评论(0)网络
阅读(89)喜欢(0)flash/flex/fcs/AIR