- 浏览: 53800 次
- 性别:
- 来自: 北京
最新评论
在项目开发过程中,会经常使用List组件。系统给提供的List组件已经不能够满足我们的需求。这就需要我们根据自己的需求来创建一个自定义的List。
先在场景1中将自己要显示的布局用组件布置好,按F8生成元件取名为MyCellRenderer并生成可编辑的类。右键编辑类ctrl+s保存到资源库中MyCellRenderer.as文件。然后在flash中编辑该类:
然后在场景1中,添加List组件F8生成组件取名为ItemList,双击取名为myList,然后右击动作选项,为其添加
myList.setStyle("cellRenderer", MyCellRenderer);
myList.rowHeight = 50;
myList.columnWidth = 38;
myList.rowHeight = 38;
myList.columnCount = 16;
myList.width = 630;
在页面中添加数据:
在动作中添加:var dp:DataProvider = new DataProvider();
dp.addItem( { skillName:"NY", skillLev:"20",skillid:"121"} );
navalList.dataProvider = dp;
根据自己所要完成的功能编辑MyCellRenderer类:
package {
import flash.display.MovieClip;
import flash.text.TextField;
import fl.controls.listClasses.ICellRenderer;
import fl.controls.listClasses.ListData;
import flash.geom.ColorTransform;
import flash.events.MouseEvent;
import flash.text.TextFormat;
import flash.filters.GlowFilter;
public class MyCellRenderer3 extends MovieClip implements ICellRenderer{
private var _data:Object;
private var _listData:ListData;
private var _selected:Boolean;
private var _backFunc:Function = null;
private var heroId:String;
public function MyCellRenderer3() {
// constructor code
trace("mycellrenderer3 zhixing le ================");
var tf:TextFormat = new TextFormat();
tf.color = 0xfff38b;
tf.size = 12;
heroName.setStyle('textFormat',tf);
heroLev.setStyle('textFormat',tf);
heroExp.setStyle('textFormat',tf);
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK,clickHandler);
}
private function clickHandler(event:MouseEvent):void {
this._backFunc(heroId);
}
public function set data(d:Object):void{
_data = d;
heroName.text=d.heroName;
heroLev.text=d.heroLev;
heroExp.text=d.heroExp;
this._backFunc = d.callback;
this.heroId = d.heroId;
}
public function get data():Object
{
return _data;
}
public function set listData(ld:ListData):void
{
_listData = ld;
}
public function get listData():ListData
{
return _listData;
}
public function set selected(s:Boolean):void {
_selected = s;
showbg();
}
private function showbg():void {
if (_selected) {
bg.transform.colorTransform = new ColorTransform(2.0, 2.0, 2.0);
} else {
bg.transform.colorTransform = new ColorTransform();
}
}
public function get selected():Boolean {
return _selected;
}
public function setSize(width:Number, height:Number):void
{
//trace(width, height, this.width);
}
public function setMouseState(state:String):void
{
trace(state);
}
}
}
初次研究组件,希望能否对大家有所帮助。如有不足之处,还望大家给些意见或建议。
发表评论
-
flash slider的滑动字体大小随着改变
2011-09-08 13:24 982... -
flash as 编写代码(十四)
2011-08-09 15:19 672关于查错: 往往从有思路到编程实现效果不可能一次完成,也就是 ... -
flash as 编写代码(十三)
2011-08-09 15:14 539语法相关: 1.首当其冲的还是点语法,他是在编程时用来指明与 ... -
flash as 编写代码(十二)
2011-08-09 15:10 616加载外部图片及对加载图片的控制 许多朋友都在问如何load ... -
flash as 代码编写(十一)
2011-08-09 15:09 635利用ShareObject实现Flash数 ... -
flash as 代码编写(十)
2011-08-09 15:07 568加载外部图片 如果你 ... -
flash as 代码编写(九)
2011-08-09 15:06 769FLASH调用外部文件详解 ... -
flash as代码编写(八)
2011-08-09 15:05 667一、Flash与Asp之间的交互 Flash与Asp的通讯是 ... -
flash as 代码编写(七)
2011-08-09 15:04 584一个动态文本设置alpha函数。 function set ... -
flash as 代码编写(六)
2011-08-09 15:02 855*两点间画直线 *画螺旋线 *画正方形、圆、椭圆 *抛物线 * ... -
flash as 代码编写(五)
2011-08-09 15:02 629FLASH中的保留小数的函 int(你的数*10)/10; ... -
flash as 代码编写(四)
2011-08-09 15:01 577和WEB结合设计中用层来遮住FLASH 1.在flash的p ... -
flash as 代码编写(三)
2011-08-09 14:59 698一些简单的AS和一些程序思路,掌握最好: 1.复制MC ... -
flash as 代码编写(二)
2011-08-09 14:58 592判断本机Flash播放器版本并进行下载 ss=System. ... -
flash as代码编写(一)
2011-08-09 14:57 627在工作的忙忙碌碌中学到了很多知识。拿过来和大家一起分享。 1 ... -
继承 UIComponent 自定义组件
2011-08-09 14:50 1352UIComponent类是所有可视化组件的基类包括交互式和非交 ... -
flex的组件及基础知识
2011-07-28 13:57 7791、冒泡排序: private function maoPao ... -
Flex Event中属性currentTarget与target的区别
2011-07-28 13:50 707- 官方解释 currentTarget是事件的处理对 ...
相关推荐
自定义 List 组件 . . . . . . . . . . . . . . . . . . . . . . . . 101 自定义 NumericStepper 组件 . . . . . . . . . . . . . . . . . . . 104 自定义 ProgressBar 组件 . . . . . . . . . . . . . . . . . . . ...
使用android逐帧动画实现自定义loading进度条。
一个基于CocosCreator的List(列表)组件。支持虚拟列表、不定宽/高、选择模式、滑动模式等。
MyExtRichTextBox是网络上使用比较广泛的自定义RichTextBox组件 我做了中文注释,添加了两个函数包括: --+++获得OLE接口的函数, --+++获得添加的对象的函数. --+++集成了RTF文档格式编辑功能. 初学者可以更清楚明白. ...
通过两种方法继承List组件的IconItemRenderer,实现在每个item项中添加组件,如button等
下拉菜单是app开发中最常用的内容选择组件,避免用户录入的同时保证了数据准确性。具有优势:1、菜单应该易于打开、关闭和交互;2、菜单内容应适合用户需求;3、菜单项应该易于浏览。下拉菜单可以显示选项列表,由...
本组件支持的脱敏数据类型:八大基本类型及其包装类型、String类型、Map、List、JSON字符串、项目中的POJO对象。 注:Map、JSON、List、POJO、List对象的脱敏处理需要配置其对应的字段名即可,无法处理List<八大类型...
在写小程序代码的时候,我们发现经常有一段代码我们经常敲,经常使用某一自定义组件,例如商城首页的轮播图和商品详情页的商品展示栏是近乎相同的代码;微信小程序里的弹窗提示可以使用在多个地方… 小程序自定义...
但是tab进行切换的时候,list组件的load事件不会再次被触发!!!就是list组件做上拉加载只有在第一个tab会触发,切换后触底不会再次触发 解决办法: 初始化定义了list的加载状态 tab切换时;重新初始化一次就行了 ...
这是一个简单的应用程序,它添加了一个带有事件侦听器和绑定的自定义组件(指令)。 有几个按钮用于将 10、100、1000 和 5000 条消息的增量添加到列表中,以便查看它们的呈现速度。 ##切换模式 app.js中有一行允许...
微信小程序学习 Demo 1.项目目录结构 Wechat-APP/ ├─app.js ├─app.json ├─app.wxss ...开发自定义组件可以参考这篇:写一个微信小程序自定义公共组件 组件化开发小程序可以参考:小程序组件化开发框架
可导航字母序排列数据列表 基础库 1.6.0 开始支持,低版本需做兼容处理
敢想敢做,于是选择了给微信小程序做个 仿iPhone通讯录 效果的自定义组件。 先来整理一下,瞧瞧需要实现的核心功能。 按照第一个字的首字母排序; 实现输入搜索功能; 侧边栏字母导航; 基本上分为3块: 顶部的...
自定义属性集合编辑器,支持两种方式(UserControl, Component)进行属性编辑并自动产生持久化代码。代码参考网络。
下面就引出了今天的主题,自定义组件ListPopWindow,iOS中,这个效果是自带的。PopWindow可以说在项目里用的比较多的了,可能有n处要用到PopWindow,那么自定义一个PopWindow,到处来用更方便一些。 先看一下效果:
由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能。现在单独做了个简易的小demo,主要是为了分享自己写的分页功能。注:本实例调用的是真实接口数据。...
横向ListView,将横向ListView中子项Item中嵌入正常的竖向ListView,在 横向ListView的重载BaseAdapter的getView方法中实现子ListView的OnItemClickListener事件,在该事件中通过操作Adapter的List数组增删,...
一个增强型的VC.net CSortListCtrl,VC.NET自定义支持选择功能的CSortListCtrl列表组件,在默认的控件状态中,没有这种自由选择的功能,这是根据我自己的需求添加的,或许会有不少朋友对此功能是比较感兴趣的,你...
我们项目中使用的表格一般都比较类似,如果不进行封装的话,那么每个页面都可能有一些类似的代码。不仅浪费时间,而且由于开发人员...以下是tableList 组件的代码 <!--刷新按钮 和 筛选列的多选框 layout中要有 co
我也很困惑这件事,今天了解到自定义组件这个概念,就试了试,感觉好像弥补了template的那个缺点,于是写了个小demo,也算做个笔记 效果 做的就是个菜单组件,数据由外部灌入。 目前我还在看怎么样才能实现菜单弹出...