Я не использовал fl.controls.TileList, но, похоже, он использует ту же стратегию, что и компоненты Flex: средства визуализации элементов.
В этом случае в документации к fl.controls.TileList сказано:
Средством визуализации ячеек по умолчанию для этого компонента является класс ImageCell. Средство визуализации ячеек ImageCell отображает эскиз изображения и однострочную метку. Чтобы отобразить ячейку на основе списка в компоненте TileList, используйте класс CellRenderer.
В вашем случае вы хотите указать класс, который просто возьмет BitMapData
из dataProvider и будет использовать его для отображения изображения.
Чтобы использовать другой класс для средства визуализации, используйте TileList
's стиль cellRenderer.
Я не создавал настраиваемое средство визуализации ячеек для Flash TileList, но вот несколько ссылок, которые могут помочь вам начать работу:
Базовый подход к созданию собственного настраиваемого средства визуализации будет примерно таким:
1. Создайте новый класс, расширяющий CellRenderer:
public class CustomRenderer extends CellRenderer
{
public function CustomRenderer()
{
super();
}
}
2. Переопределите метод установки для свойства data
класса CellRenderer
:
Компонент TileList
создаст средство визуализации для каждого элемента в dataProvider
. Затем он вызывает этот метод установки для каждого средства визуализации, чтобы передать данные для этого элемента. В этом установщике вы можете получить BitMapData
и использовать его для рендеринга изображения. Ниже приведен непроверенный код, вероятно, есть более хороший способ сделать это (у нас есть хорошие ярлыки для этого типа вещей в Flex)
override public function set data(value:Object):void
{
super.data = value;
if (value != null && value.hasOwnProperty("propertyNameThatContainsBitMapData"))
{
var bmData:BitMapData = value["propertyNameThatContainsBitMapData"] as BitMapData;
if (bmData)
{
var g:Graphics = this.graphics;
g.beginBitMapFill(bmData);
g.drawRect(0,0,100,100); // use whatever dimensions you want
g.endFill();
}
}
}
person
Sunil D.
schedule
17.07.2012
TileList
компонента от Adobe. Один для Flex и один для Flash CS5 (или чего-то еще). Какой вы используете? - person Sunil D.   schedule 17.07.2012