我需要在我的一個項目中實現自定義cell renderer
,我在Google上做了一些搜索,但找不到我需要的內容。如何在Flash中爲瓦片列表創建自定義單元格渲染器
我需要在每個tile list
到cell
2級顯示的圖標,情侶labels
。我需要一個很好的例子來啓動它。
如果可能,我需要一種方法將模板設計爲MovieClip
並將它傳遞給tilelist以渲染單元格。
我需要在我的一個項目中實現自定義cell renderer
,我在Google上做了一些搜索,但找不到我需要的內容。如何在Flash中爲瓦片列表創建自定義單元格渲染器
我需要在每個tile list
到cell
2級顯示的圖標,情侶labels
。我需要一個很好的例子來啓動它。
如果可能,我需要一種方法將模板設計爲MovieClip
並將它傳遞給tilelist以渲染單元格。
創建一個名爲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" ... />
要構建自定義單元格渲染器,你需要從擴展一個類的選擇可用listClasses。 ImageCell看起來對您的項目來說是一個很好的開始。
您可以:
這裏是一個非常簡單的例子:
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。 定製小區內設置有:
HTH
閱讀問題carefully.He是說Flash和你給的.mxml的解決方案,這本身就是不完整的答案。 – 2013-11-15 11:45:49