|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用Flash创作的各个内容单元称为应用程序,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的Flash应用程序。
我今朝正在做一个项目,利用了FlashMX2004。情形一向很好,直到有一次我想令list中的一部分加粗。我原觉得很复杂,就像改动label一样,拔出html标签就好了,可是生存哪有那末复杂:)
在做了一点浏览和发掘以后,我终究找到了一种办法,就是明天我要和你分享的。
上面这个就是终极的了局,你能够轻松的创立一个。
http://www.jcwcn.com/Files/BeyondPic/chinazcj/2005-11/21/05112110381817605.swf
这个效果是经由过程创立一个自界说cellRenderer,而不是ListBox默许的处置。
一个cellRenderer就是恣意的一个class,这个class要完成CellRendererAPI,被用来在基于列表的组件(List,DataGrid,Tree和Menu)显现一行的内容。你能够在匡助中找到更多关于CellRenderers的信息
UsingComponents->ComponentsDictionary->CellRendererAPI
按上面的步骤创立下面的例子
1.下载我的LabelCellRenderer,解紧缩到符合的路径(.fla地点的路径最好),坚持紧缩包中的文件目次
2.拔出一个新的MC标记,定名为"LabelCellRenderer",不加引号,这是个空的标记
3.在库面板的LabelCellRenderer上单击右键,从菜单当选择“linkage...”。点击“ExportforActionScript”,利用“com.darronschall.LabelCellRenderer”作为AS2.0的类。并且断定“LabelCellRenderer”作为ID。
4.增加一个Label组件到库中。这是需要的,由于LabelCellRenderer用他来显现。
5.拖动一个ListBox到舞台上,给他一个实例称号。我利用“myList”,在这个例子中调剂他的巨细到250×90。
6.复制粘贴上面的代码,以利用LabelCellRenderer
//一般的事务处置
functionchange(eventObj){
trace(eventObj.target.selectedItem.data);
}
//添补ListBox-注重label字符串中的HTML代码
myList.addItem({label:"<b>Apples</b>...<fontcolor="#FF0000">are<u>red</u></font>",data:"apple"});
myList.addItem({label:"<b>Oranges</b>...<fontcolor="#FF9900">are<u>orange</u></font>",data:"orange"});
myList.addItem({label:"<b>Bananas</b>...<fontcolor="#FFCC00">are<u>yellow</u></font>",data:"banana"});
myList.addItem({label:"<b>Pears</b>...<fontcolor="#009900">are<u>green</u></font>",data:"pear"});
//当内容不敷以显现转动条时,封闭这个厌恶的器材
myList.vScrollPolicy="off";
//利用LabelCellRenderer来显现listBox中的label,并同意利用htmlmyList.cellRenderer="LabelCellRenderer";
myList.addEventListener("change",this);
//原文里改动了组件款式,我发明不改反而更大度,呵呵(qhwa注)
//_global.style.setStyle("themeColor",0xCCCCCC);
如许应当能够了,祝你好运喽~
但愿你分明了如何利用一个CellRenderer无效地显现你必要地器材,而不是往研究List组件的外部程序。
使用Flash创作的各个内容单元称为应用程序,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的Flash应用程序。 |
|