您的位置: 首页 > 技术文档 > 多媒体制作 > 在 ListBox 组件中应用 HTML
多语言Flash MX 2004安装方法 回到列表 减少 Flash MX 2004 的启动时间
 在 ListBox 组件中应用 HTML

作者:qhwa 时间: 2003-11-06 文档类型:原创 来自:蓝色理想

FMX2K4: 在 ListBox 中应用HTML
原文地址: http://www.darronschall.com/weblog/archives/000067.cfm#more
翻译: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.下载我的LabelCellRenderer,解压缩到合适的路径(.fla所在的路径最好),保持压缩包中的文件目录

2.插入一个新的MC符号,命名为"LabelCellRenderer",不加引号,这是个空的符号

3.在库面板的LabelCellRenderer上单击右键,从菜单中选择“linkage...”。点击“Export for ActionScript”,使用“com.darronschall.LabelCellRenderer”作为AS2.0的类。而且确定“LabelCellRenderer”作为ID。

4.添加一个Label组件到库中。这是必要的,因为LabelCellRenderer用他来显示。

5.拖动一个ListBox到舞台上,给他一个实例名称。我使用“myList”,在这个例子中调整他的大小到250×90。

6.复制粘贴下面的代码,以使用LabelCellRenderer

// 普通的事件处理
function change(eventObj) {
    trace(eventObj.target.selectedItem.data);
}

// 填充ListBox - 注意label字符串中的HTML代码
myList.addItem({label:"<b>Apples</b> ... <font color=\"#FF0000\">are <u>red</u></font>", data:"apple"});

myList.addItem({label:"<b>Oranges</b> ... <font color=\"#FF9900\">are <u>orange</u></font>", data:"orange"});

myList.addItem({label:"<b>Bananas</b> ... <font color=\"#FFCC00\">are <u>yellow</u></font>", data:"banana"});

myList.addItem({label:"<b>Pears</b> ... <font color=\"#009900\">are <u>green</u></font>", data:"pear"});

// 当内容不足以显示滚动条时,关闭这个讨厌的东西
myList.vScrollPolicy = "off";

// 使用 LabelCellRenderer 来显示 listBox中的label,并允许使用html myList.cellRenderer = "LabelCellRenderer";
myList.addEventListener("change", this);

// 原文里改变了组件样式,我发现不改反而更漂亮,呵呵(qhwa注)
//_global.style.setStyle("themeColor", 0xCCCCCC);

这样应该可以了,祝你好运喽~
希望你明白了怎样使用一个CellRenderer有效地显示你需要地东西,而不是去钻研List组件的内部程序。

出处:蓝色理想
责任编辑:qhwa

◎进入论坛Flash专栏版块参加讨论

相关文章 更多相关链接
Flash MX 2004 数据绑定
Flash dynamic mask 动态遮罩
基于 as1.0 的挡板游戏-oop篇
Flash 酷站猎手
中文ID3乱码问题MX解决方案
作者文章 更多作者文章
中文ID3乱码问题MX解决方案
Flash 区块游戏开发
Flash 中如何显示清晰的字体
JavaScript 和 Flash 的通信
在 ListBox 组件中应用 HTML
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
悟道web标准:前端性能优化
纯中文域名".中国"今日提交申请
世界之窗3.0皮肤设计大赛结果公布
使用jQuery制作滑动动画效果的层
如何设计网页横幅
Plump 图标设计
Subrat Nayak图标设计
百度知道推出文档分享服务
CSS Sprites(CSS雪碧):要还是不要?
UIRSS三周年纪念日推出V2公测版
栏目最新 栏目最新列表
Firefox的Jetpack扩展案例分析
阿里妈妈UED谈CSS Sprites技术
Photoshop中设计绿色时尚Web网站
操作Dom节点实现间歇滚动新闻
浏览器15年历史回顾
如何创建Firefox的Jetpack扩展
全透视:CSS Z-index 属性
用PS 3D工具绘制甜麦圈包装袋
悟道Web标准:让W3C标准兼容终端
悟道WEB标准:统一思想,遵循标准

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

本文总共有 12 条评论,现在显示最新的 5 条。评分:- llllllllllllllllllll + 评分人数: 1 ,平均分: 3.00


jyhan Publish at 2006-6-6 17:39:34
// generic event handler
function change(eventObj) {
    trace(eventObj.target.selectedItem.data);    
}

// populate the list box - note the html in the "label" string
myList.addItem({label:"<b>Apples</b> ... <font color=\"#FF0000\">are <u>red</u></font>", data:"apple"});
myList.addItem({label:"<b>Oranges</b> ... <font color=\"#FF9900\">are <u>orange</u></font>", data:"orange"});
myList.addItem({label:"<b>Bananas</b> ... <font color=\"#FFCC00\">are <u>yellow</u></font>", data:"banana"});
myList.addItem({label:"<b>Pears</b> ... <font color=\"#009900\">are <u>green</u></font>", data:"pear"});

// turn off the vertical scrollbar to get
// rid of the "empty box" that appears when
// there isn't enough content to scroll
myList.vScrollPolicy = "off";

// use the LabelCellRenderer to display the label
// in the listbox and allow for html
myList.cellRenderer = "LabelCellRenderer";

myList.addEventListener("change", this);

// just use a default gray style, as the haloGreen
// doesn't look quite right with our colors in the list
_global.style.setStyle("themeColor", 0xCCCCCC);
wintry Publish at 2006-2-11 16:05:35
为什么不可以显示
只能显示原代码
VictorLee Publish at 2005-4-26 19:39:49
好了!可以了!
VictorLee Publish at 2005-4-26 16:17:16 评分3
为什么我按照原文这么做下来,还是不行呢?显示的都是[object Object],想问问这是为什么呢?trace的是undefined,何故?谁能解答呢?



218.14.28.28 Publish at 2004-5-28 11:25:44
为什么我按照上面的步骤做,但是效果不是那样呢?也就是不支持HTML,为什么?

查看全部评论

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
《Web标准设计》
闪魂-FlashCS4完美入门与案例精粹
Waver_h's华丽世界
Illustrator CS3质感绘画表现技法
《Flash短片轻松学》
《用户体验要素》
《JavaScript语言精粹》
作品集 更多内容

发现王国2009版 XX公司 服装网站BASIC E 双生子日记星座卡 PushMail邮件 贝克洛门窗 飞机稿 青蛇局部