在 ListBox 组件中应用 HTML

[1b] [/1b][1b]FMX2K4: 在 ListBox 中应用HTML[/1b]
原文地址:
[url=http://www.darronschall.com/weblog/archives/000067.cfm#more]
[color="#444444"]http://www.darronschall.com/weblog/archives/000067.cfm#more[/color]
[/url]
翻译:qhwa
我目前正在做一个项目,使用了Flash MX 2004。情况一直很好,直到有一次我想令list中的一部分加粗。我原以为很简单,就像改变label一样,插入html标签就行了,但是生活哪有那么简单:)
在做了一点阅读和挖掘之后,我终于找到了一种方法,就是今天我要和你分享的。
下面这个就是最终的结果,你可以轻松的创建一个。
这个效果是通过创建一个自定义cellRenderer,而不是ListBox默认的处理。
一个cellRenderer就是任意的一个class,这个class要实现Cell Renderer API,被用来在基于列表的组件(List,DataGrid,Tree和Menu)显示一行的内容。你可以在帮助中找到更多关于Cell Renderers的信息
Using Components -> Components Dictionary -> CellRenderer API
按下面的步骤创建上面的例子
1.
[url=http://www.blueidea.com/articleimg/2003/11/1172/LabelCellRenderer.zip]
[color="#444444"]下载我的LabelCellRenderer[/color]
[/url]
,解压缩到合适的路径(.fla所在的路径最好),保持压缩包中的文件目录
2.插入一个新的MC符号,命名为"LabelCellRenderer",不加引号,这是个空的符号
[img]/Files/BeyondPic/2006-9/19/crender01.gif[/img]
3.在库面板的LabelCellRenderer上单击右键,从菜单中选择“linkage...”。点击“Export for ActionScript”,使用“
[color="#ff0000"]com.darronschall.LabelCellRenderer[/color]
”作为AS2.0的类。而且确定“
[color="#ff0000"]LabelCellRenderer[/color]
”作为ID。
[img]/Files/BeyondPic/2006-9/19/crender02.gif[/img]
4.添加一个Label组件到库中。这是必要的,因为LabelCellRenderer用他来显示。
5.拖动一个ListBox到舞台上,给他一个实例名称。我使用“myList”,在这个例子中调整他的大小到250×90。
6.复制粘贴下面的代码,以使用LabelCellRenderer
 
这样应该可以了,祝你好运喽~
希望你明白了怎样使用一个CellRenderer有效地显示你需要地东西,而不是去钻研List组件的内部程序
// 普通的事件处理
function change(eventObj) {
    trace(eventObj.target.selectedItem.data);
}
// 填充ListBox - 注意label字符串中的HTML代码
myList.addItem({label:"Apples ... are red", data:"apple"});
myList.addItem({label:"Oranges ... are orange", data:"orange"});
myList.addItem({label:"Bananas ... are yellow", data:"banana"});
myList.addItem({label:"Pears ... are green", data:"pear"});
// 当内容不足以显示滚动条时,关闭这个讨厌的东西
myList.vScrollPolicy = "off";
// 使用 LabelCellRenderer 来显示 listBox中的label,并允许使用html myList.cellRenderer = "LabelCellRenderer";
本文转自:http://www.5uflash.com/flashjiaocheng/Flashzujianxuexi/1333.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值