2010-06-27 27 views
0

我需要在我的一個項目中實現自定義cell renderer,我在Google上做了一些搜索,但找不到我需要的內容。如何在Flash中爲瓦片列表創建自定義單元格渲染器

我需要在每個tile listcell 2級顯示的圖標,情侶labels。我需要一個很好的例子來啓動它。

如果可能,我需要一種方法將模板設計爲MovieClip並將它傳遞給tilelist以渲染單元格。

回答

-2

創建一個名爲MyRenderer.mxml文件,粘貼:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Box xmlns:mx="http://www.adobe.com/2006/mxml"> 
<mx:Image id="img" width="123" height="123" /> 
<mx:Script><![CDATA[ 
override public function set data (value:Object):void { 
    super.data = value; 
    // mess with img here 
} 
]]></mx:Script> 
</mx:Box> 
在平鋪列表

,這樣寫:

<mx:TileList itemRenderer="MyRenderer" ... /> 
+0

閱讀問題carefully.He是說Flash和你給的.mxml的解決方案,這本身就是不完整的答案。 – 2013-11-15 11:45:49

0

要構建自定義單元格渲染器,你需要從擴展一個類的選擇可用listClassesImageCell看起來對您的項目來說是一個很好的開始。

您可以:

  1. 放大清單類
  2. 在(標籤/文本字段等)添加自己的位
  3. 覆蓋保護功能的新小區按需要調整(一個例子是drawLayout方法,您需要整齊地放置物品)。

這裏是一個非常簡單的例子:

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); 
     } 
    } 
} 

一個漂亮的好榜樣,你需要的是在這個post。 定製小區內設置有:

  1. 支持自定義背景(通過設置細胞皮膚)
  2. 使用標籤文本字段。

HTH

相關問題