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

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

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

Регистрация: Nov 2006
Адрес: Hamburg
Сообщений: 195
Отправить сообщение для Peregrin с помощью ICQ
По умолчанию itemRenderer не отображает скин из swf

Код:
/* CSS file */
.rollOverState {
	overSkin: Embed(source="defaultSkin.swf", symbol="itemRendererOverState");
}
сам itemRenderer для компонента List
Код:
<mx:Style source="styles/listItemRendererStyle.css"/>
<mx:Script>
	...

	private function rollOverHandler(evenr:MouseEvent):void
	{
		this.styleName = "rollOverState";
	}
            
	...
</mx:Script>
...
пролема в том, что этот скин никак не хочет отображаться. Может я что-то не так сделал или забыл что-то?

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

Регистрация: Nov 2006
Адрес: Hamburg
Сообщений: 195
Отправить сообщение для Peregrin с помощью ICQ
вроде все сделано правильно, приложение видит символ itemRendererOverState из библиотеки файла defaultSkin.swf, потому что когда я меняю название символа, то он выдает ошибку. Но если видит, тогда почему не отображает?

Старый 16.02.2009, 17:59
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 3  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Попробуйте задать стиль этот самому листу.
Или сделайте в рендере еще один канвас(или от чего у вас отнаследован рендерер)и прицепить стиль к нему.

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

Регистрация: Nov 2006
Адрес: Hamburg
Сообщений: 195
Отправить сообщение для Peregrin с помощью ICQ
проблема оказывается в том, что ни у HBox'а, у которого наследует мой itemRenderer, ни у List'а нету свойства overSkin. Когда я его вставлял в CSS-файл, он не выдавал ошибку, а когда вставил к сам компонент (inline), он говорит, что не знает что с этим делать, а когда вставляешь, например, в Button, то нормально все.
Что посоветуете? Как сделать так, чтобы List отображал красивые item'ы, возможно анимированные?

Старый 16.02.2009, 20:44
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Отнаследоваться от чего-то, у чего есть такой стиль, ну, или просто отнаследоваться от VBox'а и дописать такой стейт самому.
__________________
Hell is the possibility of sanity

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

Регистрация: Nov 2006
Адрес: Hamburg
Сообщений: 195
Отправить сообщение для Peregrin с помощью ICQ
Разобрался вроде. Для контейнеров нужно испльзовать свойство стиля backgroundImage:
Код:
/* CSS file */
.rollOverState {
   backgroundImage: Embed(source="defaultSkin.swf", symbol="itemRendererOverState");
}
.rollOutState {
   backgroundImage: Embed(source="defaultSkin.swf", symbol="itemRendererUpState");
}
а в самом классе пишу
Код:
private function rollOverHandler(evenr:MouseEvent):void
{
   this.styleName = "rollOverState";
}
            
private function rollOutHandler(evenr:MouseEvent):void
{
   this.styleName = "rollOutState";
}
Цитата:
Сообщение от wvxvw Посмотреть сообщение
отнаследоваться от VBox'а и дописать такой стейт самому.
а на счет стейта интересная тема. Я то работал со стейтами, но со скинами, как видите, не очень. Не могли бы вы написать небольшой примерчик?

Старый 17.02.2009, 14:02
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Посмотри:
http://livedocs.adobe.com/flex/3/htm...kinning_7.html
Creating stateful skin using images
Но там не фонтан пример... я пробовал делать с деграфой, как немного руки дойдут - выложу пример.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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