![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2009
Сообщений: 9
|
Ура! Вывел все картинки! ))) Забил на List, сделал через dataGrid + MovieClip.
Только теперь не могу понять как убрать моргание картинок. Когда что-нибудь делаешь картинки как-будто перерисовываются... Если нужен код: ======== В программе: ======== dataProvider.getPhotos(ID, AlbumID , function(success:Boolean) { if (success) { EventDispatcher.initialize(My_dataGrid); Pictures_Array = new Array(); for (var i:Number = 0; i<this.firstChild.childNodes.length; i++) { Pictures_Array.addItem({data: this.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue}); } My_dataGrid.dataProvider = Pictures_Array; My_dataGrid.getColumnAt(0).cellRenderer = "ImageCellRenderer"; My_dataGrid.getColumnAt(0).headerText = "Список:"; My_dataGrid.getColumnAt(0).width = 130; My_dataGrid.rowHeight = 130; } }); ============= В ImageCellRenderer: ============= import mx.data.encoders.Num; import mx.utils.Delegate; class ImageCellRenderer extends MovieClip { private var image : MovieClip; private var imageLoader : MovieClipLoader; private var loadListener : Object; private var listOwner : MovieClip; private var getCellIndex : Function; private var getDataLabel : Function; private static var PREFERRED_HEIGHT : Number = 130; private static var PREFERRED_WIDTH : Number = 130; private var cellWidth : Number; private var cellHeigth : Number; public function ImageCellRenderer() { image = createEmptyMovieClip('image', getNextHighestDepth()); imageLoader = new MovieClipLoader(); loadListener = new Object(); imageLoader.addListener(loadListener); loadListener.onLoadInit = Delegate.create(this, alignImage); } public function setSize(w:Number, h:Number):Void { cellWidth = w; cellHeigth = h; alignImage(); } public function setValue(str:String, item:Object, sel:Boolean) : Void { if (item != undefined) { imageLoader.loadClip(item[getDataLabel()], image); image._visible = true; } image._visible = false; } public function getPreferredHeight() : Number { return PREFERRED_HEIGHT; } public function getPreferredWidth() : Number { return PREFERRED_WIDTH; } private function alignImage() : Void { image._x = (cellWidth - image._width) / 2; image._y = (cellHeigth - image._height) / 2; } } Может кто знает в чём может быть проблема этого моргания??? Последний раз редактировалось exprize; 13.08.2009 в 18:08. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|