![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2009
Сообщений: 140
|
Подскажите пожалуйста как изменить цвет текста компонента List?
|
|
|||||
|
Регистрация: May 2009
Сообщений: 140
|
Делаю так: захожу в библиотеу, потом в Component Asserts, потом в CellRenderer,
а там редактируется только цвет ячеек. Подскажите пожалуйста как там найти Text Field? |
|
|||||
myList.setStyle('cellRenderer', Renderer); // Класс ниже; /** * Класс Renderer */ package { import fl.controls.listClasses.CellRenderer; import fl.controls.listClasses.ICellRenderer; import flash.text.TextFormat; public class Renderer extends CellRenderer{ public function Renderer() { super(); var tf:TextFormat = new TextFormat(); tf.color = 0xFF0000; setStyle("textFormat",tf); } } } |
|
|||||
|
Регистрация: May 2009
Сообщений: 140
|
Огромное спасибо! Получилось.
|
|
|||||
|
Регистрация: Jun 2009
Сообщений: 64
|
подскажите, пожалуйста, можно ли аналогичным способом поменять цвет текста одного элемента list? а цвет фона одного элемента?
|
|
|||||
|
Регистрация: Jun 2009
Сообщений: 64
|
а как в функции Renderer получить ряд ячейки?
|
|
|||||
import fl.controls.listClasses.CellRenderer; import fl.controls.List; import fl.data.DataProvider; import fl.events.ListEvent; import flash.display.Sprite; import flash.events.Event; var dp:DataProvider = new DataProvider(); var totalEntries:Number=42; var i:Number; for (i=0; i<totalEntries; i++) { var dt={label:"Math.random(): "+Math.random(),data:null}; if (i==4) { dt.setColor=true; } dp.addItem( dt); } var myList:List = new List(); myList.setSize(300,300); myList.setStyle('cellRenderer', Renderer); myList.dataProvider=dp; addChild(myList); package { import fl.controls.LabelButton; import fl.controls.listClasses.ICellRenderer; import fl.controls.listClasses.CellRenderer; import fl.controls.listClasses.ListData; import flash.display.Shape; import flash.text.TextField; public class Renderer extends CellRenderer implements ICellRenderer { public function Renderer() { } override public function set listData(newListData:ListData):void { super.listData = newListData; } override public function get listData():ListData { return _listData; } override public function set data(newData:Object):void { _data = newData; if (newData.setColor != undefined) { //Меняем стиль ячейки setStyle("upSkin", CellBackgr); }else { // здесь задаем стандартный, иначе некоторые ячейки не обновятся. setStyle("upSkin", CellRenderer_upSkin); } } override public function get data():Object { return _data; } } } import flash.display.LineScaleMode; import flash.display.Shape class CellBackgr extends Shape { public function CellBackgr() { graphics.beginFill(0xFF7700) graphics.drawRect(0, 0, 100, 15); graphics.endFill() } } У ListData есть свойство row, можно и к нему привязываться. Но мне кажется удобнее через data. Хотя опять же от задачи зависит. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|