用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash组件学习>列表

flash list组件与CellRenderer API

[来源:老舍的flash四合院 | 作者:flashshe.com | 时间:2008-03-29 | 点击:  | 收藏本文  【 】]
Flash MX 2004中的新组件对于我们开发网络应用程序的确带来了很大的方便,无论是在美观和易使用方面都得到了不错的评价。开发应用程序过程中相信大家使用的比较多的还是基于列表的组件(List、DataGrid、Tree 和 Menu),DataGrid、Tree 和 Menu 组件是 List 类的扩展.下面引用Flash MX 2004帮助文档中的一段描述。

关于 List 类的构成
List 类由行构成。这些行显示滑过和选区突出显示,用作行选区的点击状态,并在滚动中扮演重要的角色。除了选区突出显示和图标(如节点图标和Tree 组件的展开箭头)之外,行还包含一个单元格(或者,如果是 DataGrid,则包含多个单元格)。在默认情况下,这些单元格是实现 CellRenderer API 的 TextField 对象。但是,您可以让 List 使用不同的组件类作为每一行的单元格。唯一的要求是该类必须实现 List 用于与单元格通信的 CellRenderer API。titleCellRenderer API 是一组属性和方法,基于列表的组件(List、DataGrid、Tree 和 Menu)使用它们来处理和显示每一行的自定义单元格内容。该自定义单元格可以包含预先建立的组件(如 CheckBox)或您创建的任何类。


即我们可以在基于列表的组件中用不同的组件类作为每一行的单元格,在单元格中填入更丰富的内容。Flash MX 2004帮助文档中提到要在单元格中填入不同的组件类我们必须要把作为填充单元格的类实现CellRenderer API。要实现CellRenderer API 我们必须要在此类文件中实现如下四个方法(CellRenderer.getPreferredHeight()、CellRenderer.getPreferredWidth()、CellRenderer.setSize()、CellRenderer.setValue())并且系统将为单元格自动指定两个方法和一个属性(CellRenderer.getCellIndex()、CellRenderer.getDataLabel() 和 CellRenderer.listOwner),以便允许它与基于列表的组件通信。

利用List组件我们可以实现一个列表,让用户选择一个列表中的某个或多个项目,默认情况下列表中的项目只能是文字内容,如果我们想列表中的每一项是一个图片,那是不是会更让用户感兴趣一些。今天我们就用CellRenderer API来实现我们的这个想法。

1、新建一空白文档(尺寸:200 * 150,背景色设为#006600),打开组件面板,从面板中拖一list组件到舞台中并把他的实类名设为myList,宽高分别为160 * 130。保存为LogoAd.fla。title

2、在时间轴面板中新建一图层取名为 actions,我们将在这一图层写入我们所需要的所有的actionscript语句。title把不同的内容放在不同的图层并给这些图层取一个和内容相关的名字是一个好习惯。

3、用选择工具选择List组件,下面我们要为List组件设置一些参数,rowHeight 设为128,labels 参数设置如图。title同时请大家准备好5张jpg格式的图片,图片的宽高分别为 128 * 128 ,文件名分别为one,jpg、two.jpg、three.jpg、four.jpg、five.jpg,并且和LogoAd.fla文件在同一目录。在我的源文件中有这样的五张图片,大家可以拿来使用。

4、在单元格中可以放入不同的组件,要在单元格中显示图片,我们可以将loader组件作为单元格的填充,然后在loader组件中装载图片。

5、下面我们来写需要的类文件,如上所述要实现CellRenderer API必须要实现四个方法。为了大家更好的理解每个方法的执行过程,首先在类文件中只写出这四个方法,在函数体内什么都不做。新建一动作脚本文件,写下如下代码:

import mx.core.UIComponent;

class LogoAd extends UIComponent{
 
 //构造函数********************
 function LogoAd(){
  trace("构造函数执行");
 }
 
 function setValue(suggested:String, item:Object, selected:Boolean) :Void{
  trace("setValue 方法执行");
  trace("suggested 的值是" + suggested);
  trace("item 的值是" + item);
  trace("selected 的值是" + selected);
 }
 
 function setSize(w:Number, h:Number){
  trace("setSize 方法执行");
                trace(w);

上一页12 3 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:flash怎样访问Window组件中的内容
下一篇:FLASH背景平铺组件
Tags:     组件 方法 执行 我们 单元 loader API CellRenderer 可以
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·虚线分隔List项目(drawRowBackgr
·利用flashComboBox组件制作友情
·利用ComboBox组件制作友情链接(
·flash DataGrid组件的运用(二)
·flash DataGrid组件的运用(一)
·flash Tree组件构建仿Windows资
·KTooltip 工具提示组件
·习作:组件HTML UI Components
·FLV Playback组件优劣分析
·标题栏可添加组件的PanelAdvance
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flex 3 AdvancedDataGrid的使用(第二
·全Flash动画网站实现的基础教学
·flash水影效果字
·Flash打造简单的飘雪动画视觉特效
·FLASH+XML相册(附源码)
·超酷flash光晕移动效果
·Flash旋转拖尾文字效果的制作教程
·Flash制作大雪纷飞效果动画
·flash春雷闪电效果
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号