Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.09.2009, 11:08
nataly_1 вне форума Посмотреть профиль Отправить личное сообщение для nataly_1 Найти все сообщения от nataly_1
  № 1  
Ответить с цитированием
nataly_1

Регистрация: May 2009
Сообщений: 140
По умолчанию Как изменить цвет текста компонента List?

Подскажите пожалуйста как изменить цвет текста компонента List?

Старый 10.09.2009, 11:37
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 2  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Ищите класс CellRenderer, в нем есть ссылка на TextField

Старый 10.09.2009, 11:51
nataly_1 вне форума Посмотреть профиль Отправить личное сообщение для nataly_1 Найти все сообщения от nataly_1
  № 3  
Ответить с цитированием
nataly_1

Регистрация: May 2009
Сообщений: 140
Делаю так: захожу в библиотеу, потом в Component Asserts, потом в CellRenderer,
а там редактируется только цвет ячеек. Подскажите пожалуйста как там найти Text Field?

Старый 10.09.2009, 12:42
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 4  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Код AS3:
 
 
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);
        }	
 
    }
}

Старый 10.09.2009, 16:02
nataly_1 вне форума Посмотреть профиль Отправить личное сообщение для nataly_1 Найти все сообщения от nataly_1
  № 5  
Ответить с цитированием
nataly_1

Регистрация: May 2009
Сообщений: 140
Огромное спасибо! Получилось.

Старый 17.09.2009, 23:18
LA_ вне форума Посмотреть профиль Отправить личное сообщение для LA_ Найти все сообщения от LA_
  № 6  
Ответить с цитированием
LA_

Регистрация: Jun 2009
Сообщений: 64
подскажите, пожалуйста, можно ли аналогичным способом поменять цвет текста одного элемента list? а цвет фона одного элемента?

Старый 17.09.2009, 23:41
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 7  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
можно. но тут нужно будет учитывать индексы колонки и ряда ячейки. Все это делается в CellRenderer

Старый 18.09.2009, 10:09
LA_ вне форума Посмотреть профиль Отправить личное сообщение для LA_ Найти все сообщения от LA_
  № 8  
Ответить с цитированием
LA_

Регистрация: Jun 2009
Сообщений: 64
а как в функции Renderer получить ряд ячейки?

Старый 18.09.2009, 12:07
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 9  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Код AS3:
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()
			}
}
Лучше конечно вместо CellBackgr сделать копию CellRenderer_upSkin и изменить как нужно.

У ListData есть свойство row, можно и к нему привязываться. Но мне кажется удобнее через data. Хотя опять же от задачи зависит.

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:21.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.