Egret之egret.gui.List的使用教程

工具:EgretWing

说明:

List                   列表组件

ItemRender       列表Item组件

这里只讲解一下如何绑定数据到List以及对应到ItemRender展示。

/**
 * Created by haocao on 15/6/25.
 */
class  FriendsListCase extends egret.gui.SkinnableComponent{
    public constructor(){
        super();

        this.skinName = skins.scene.FriendsListSkin;
        // 初始化数据
        this.initListData();
    }

    // 绑定界面的List
    public listview:egret.gui.List;

    // 数据Array
    private dataSource:Array<any> = [];

    private initListData():void {
        for (var i:number = 1; i < 50; i++) {
           this.dataSource.push({name: "name"+i,phone:"a"+i,qq:"b"+i});
        }
    }

    public partAdded(partName:string, instance:any):void {
        super.partAdded(partName, instance);
        if (instance == this.listview) {
            // 绑定数据源
            this.listview.dataProvider = new egret.gui.ArrayCollection(this.dataSource);
           
            // 绑定itemview
            this.listview.itemRenderer= new egret.gui.ClassFactory(FriendItemRender);
        }
    }
}
/**
 *
 * @caohao 
 *
 */
class FriendItemRender extends egret.gui.ItemRenderer{
	    
    public lname:egret.gui.Label;
    public lphone:egret.gui.Label;
    public lqq:egret.gui.Label;
    
    public constructor() {
        super();
        // 皮肤名称
        this.skinName = skins.scene.FriendsListItemSkin;
        this.touchChildren = true;
    }
    
    public dataChanged():void{
        // 将数据对应到组件上
        this.lname.text = this.data.name;
        this.lphone.text = this.data.phone;
        this.lqq.text = this.data.qq;
    }
    
}

最终效果图:

参考文章:

http://bbs.egret-labs.org/thread-1055-1-1.html

时间: 2024-08-11 09:52:03

Egret之egret.gui.List的使用教程的相关文章

GUI Design Studio 使用教程

GUI Design Studio 使用教程一:创建项目 GUI Design Studio 使用教程二:创建新任务对话框 GUI Design Studio 使用教程三:创建应用程序窗口 GUI Design Studio 使用教程四:创建文档窗口 GUI Design Studio 使用教程五:创建Edit Task对话框 GUI Design Studio 使用教程六:放置屏幕截图 GUI Design Studio 使用教程七:创建一个简单的storyboard GUI Design S

egret笔记之gui内设置动画效果

EgretWing->设计->窗口->动画 可以打开动画编辑面版. 首先需要针对当前UI界面设置各种状态.我们简单的设置 [close]:代表当前UI界面处于不可见状态. [open]:代表当前UI界面处于可见状态. 在动画面版,选择需要增加动画的组件,添加动画效果: 动画效果设置完毕后,创建对于的ts文件.   public getCurrentSkinState():string     {         if(this.parent) {             // 可见   

Egret之egret.ScrollView

由于在微信小游戏中,无法使用eui框架(即无法使用eui.Scroller) . 还好egret框架内提供了egret.ScrollView可以完美替代. 一 : 申明及初始化 private _scrollview : egret.ScrollView = null; this._scrollview = new egret.ScrollView(); 二:选择显示容器 this._scrollview.setContent( this._list_con ); 二-1 : private _

egret GUI 和 egret Wing 是我看到h5 最渣的设计

一个抄袭FlexLite抄的连自己思想都没有,别人精髓都不懂的垃圾框架.也不学学MornUI,好歹有点自己想法. 先来个最小可用集合吧: 1. egret create legogame --type gui.生成一个带gui的项目. 2. 用webstorm打开这个傻逼项目. 3. 修改theme.thm: { "skins": { "egret.gui.Button":"skins.simple.ButtonSkin" } } 4. 修改re

菜鸟教程丨密室逃生Egret游戏教程

这次给大家带来的是通过Egret实现密室逃生小游戏的教程.该游戏包括人物状态机.MVC设计模式和单例模式,该游戏在1.5s内通过玩家点击操作寻找安全点,方可进入下一关,关卡无限,分数无限.下面是具体的模块介绍和代码实现. 该游戏主要内容包括 开始游戏场景 游戏场景 游戏结束结算场景 全局常量类 人物状态机类 游戏源码素材下载:https://github.com/shenysun/RoomRun 创建全局常量类 在所有舞台搭建之前先写一个全局的静态方法类,取名为GameConst.这个类里面的方

egret学习记录

最近h5小游戏比较流行,本来我是做cocos2dx的,一开始想用它的js版. 可惜看着js真是头大.于是选择了egret,egret采用typescript,学过面向对象的,上手还是比较快的,而且api比较清晰. 这里记录一下遇到的问题. 1.Error: #1006: 提供的 DisplayObject 必须是调用者的子级 如: parent.removeChild(child)其实child不是parent的子节点 一种情况是添加到了stage上,误以为是类自身上. 一种情况是child实例

Egret Engine 2D - 项目配置

todo 看三个示例项目的完整源码和资源   <e:Group name="Button" height = "300" verticalCenter="0" horizontalCenter="0"> <e:layout> <e:VerticalLayout gap="0" horizontalAlign="center" verticalAlign =&

应用zip压缩的javascript以及Egret H5游戏实战

代码地址如下:<br>http://www.demodashi.com/demo/11039.html 主要起因是策划对最快进入登录界面有硬性要求(3秒),那么最开始加载的文件越小越好.对H5的游戏程序进行压缩,可以大大缩小应用程序的加载时间. 本文主要有两个主题: 普通的javascript代码解压使用 实际Egret游戏项目的javascript代码解压使用 对实战感兴趣的朋友可以直接看后面的Egret部分,前面只是基础原理的入门版 一.js代码压缩效果 先看看压缩和没压缩之间的对比 可以

Egret的若干局限

Egret是个好东西,整套workflow用下来,特别顺手,对于移动端游戏的开发来说,选择Egret无疑是个不二的选择. 当然,小学语文课上老师就教过一种写作手法,欲扬先抑,笔者今天倒过来,来说说Egret的若干局限性. 笔者从接触Egret到现在用Egret作为主职开发工具,已经整整一年时间了,有些嘈已经吐过了,但有些嘈还在咽着.当然,哪个工具框架没有局限性呢,但是这些局限性还是要让Egret初学者明了一下. •1.3D旋转 3D旋转虽然已经脱离了Egret这个2D引擎的范畴了,但是,让我们这