如何创建一个自定义单元格渲染器平铺列表中闪光 [英] how to create a custom cell renderer for a tile list in flash

查看:191
本文介绍了如何创建一个自定义单元格渲染器平铺列表中闪光的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要实现我的一个项目一个自定义的格渲染器,我已经做了一些谷歌搜索,但没有找到我所需要的。

I need to implement a custom cell renderer in a project of mine, I have done some search on google but couldn't find what I need.

我需要每个平铺列表细胞来显示2个图标与夫妇的标签。我需要一个很好的例子,来启动它。

I need each cell in the tile list to display 2 icons with couple of labels. I need a good example to start it.

如果可能,我需要一种方法来设计模板作为影片剪辑,并把它传递给TileList的渲染单元。

If possible I need a way to design the template as a MovieClip and pass it to the tilelist for rendering the cells.

推荐答案

要建立你需要从可用扩展一个类所选择的自定义单元格渲染器<一href="http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/fl/controls/listClasses/package-detail.html"相对=nofollow> listClasses 。 <一href="http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/fl/controls/listClasses/ImageCell.html"相对=nofollow>的ImageCell 看起来像一个良好的开端为您的项目。

To build a custom cell renderer you need extend a class of choice from the available listClasses. ImageCell looks like a good start for your project.

您会:

  1. 扩展列表类
  2. 在添加自己的位(标签/文本字段,等等。)
  3. 在改写保护功能,以调整新细胞,以您的需求(一个例子是drawLayout方法,在那里你会需要整齐地放置您的项目)。

下面是一个非常简单的例子:

Here's a very basic example:

package
{
    import fl.controls.listClasses.ICellRenderer;
    import fl.controls.listClasses.ImageCell;
    import fl.controls.TileList;
    import fl.data.DataProvider;
    import fl.managers.StyleManager;
    import flash.events.EventDispatcher;
    import flash.events.*;
    import fl.containers.UILoader;

    public class CustomImageCell extends ImageCell implements ICellRenderer
    {  

        public function CustomImageCell() 
        {
            super();

            //do other stuff here

            loader.scaleContent = false;
            loader.addEventListener(IOErrorEvent.IO_ERROR, handleErrorEvent, false, 0, true);

            useHandCursor = true;
        }

        override protected function drawLayout():void
        {
            var imagePadding:Number = getStyleValue("imagePadding") as Number;
            loader.move(11, 5);

            var w:Number = width-(imagePadding*2);
            var h:Number = height-imagePadding*2;
            if (loader.width != w && loader.height != h)
            {
                loader.setSize(w,h);
            }
            loader.drawNow(); // Force validation!

        }
        override protected function handleErrorEvent(event:IOErrorEvent):void {
            trace('ioError: ' + event);
            //dispatchEvent(event);
        }
    }
}

一个pretty的很好的例子,你需要的是在这个。 该自定义单元格提供了:

A pretty good example for what you need is on this post. The custom cell provided there:

  1. 支持自定义背景(通过设置细胞皮肤)
  2. 使用标签文本字段。

心连心

这篇关于如何创建一个自定义单元格渲染器平铺列表中闪光的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆