Возможна ли динамическая подгрузка скинов?
Могу ли сделать несколько скинов для компонента, скомпилировать каждый в отдельный swf или swc и подгружать в основное приложение только по необходимости?
|
Можете.
|
Дайте, плз, ссылок почитать. Я нашёл информацию только для flex 2.
Добавлено через 3 минуты А мне нужно для flex 4. И подгружать мне нужно скины для моих собственных компонентов на основе SkinnableComponent |
Код:
.setStyle("skinClass", Skin) |
|
у меня дэбаг плеер на эти примеры ругается. 4-й с css как то плохо дружит.
|
Без подробностей могу только посочувствовать.
|
http://help.adobe.com/ru_RU/flex/usi...9084-7f8c.html
Я вот тоже нашёл эту статью, пробую. Как я понимаю, все мои скины и css можно вынести в отдельно скомпилированный swf, верно? Для этого мне нужно создать swc-библиотеку с моими скинами. И такой командой всё собрать: $ mxmlc -include-libraries=halo.swc halo.css Я правильно понимаю? |
Нет для этого достаточно скомпилировать css и загрузить полученный swf с помощью styleManager.loadStyleDeclarations().
|
Это можно сделать, выставив галочку у файла css "скомпилировать css в swf"? И в какой именно swf скомпилируется? В основной файл приложения?
И такую странность заметил: мой css не хочет компилится, если в нём есть кастомные компоненты. Код:
.playButton Css нормально компилируется только в простейшем виде, когда в нём лишь описание для текстовых компонент идёт. Например такой код css не даёт ошибок: Код:
.adLink А, ну похоже, что любое приведение к ClassReference даёт ошибку при компиляции.. Добавлено через 15 часов 5 минут Или, позвольте, более обще опишу свою задачу. У меня есть видеоплеер со моими самописными компонентами, самописными скинами и всё это собрано в css. Для этого плеера мне нужно будет сделать несколько вариантов оформления. Но варианты оформления нужно хранить в отдельном месте и грузить только во время выполнения плеера. По запросу. Технически, я понимаю, что каждую тему со своим css и скинами нужно скомпилировать в отдельный swf и его грузить с помощью styleManager.loadStyleDeclarations(). Но вопрос такой: как мне организовать всё это инфраструктурно в проекте flash builder? Добавлено через 15 часов 16 минут То есть, я предполагаю так: У меня есть основной проект с плеером, в нём в разных пакетах все темы оформления. Сами темы оформления исключаем для компиляции. Для каждой темы оформления отдельный проект библиотеки swc, куда код берётся из соответствующего пакета в основном проекте. Готовая библиотека swc компилируется через командую строку со своим css такой командой: Код:
$ mxmlc -include-libraries=halo.swc halo.css В этой схеме я не знаю, как исключить ненужные пакеты со скинами из основного проекта плеера (или как их разрабатывать отдельно, не копируя для каждой темы код плеера). Как компилировать css в swf средствами flash builder, а не через командную строку. и как скомпилировать сложный css? в котором есть приведение к классу с помощью ClassReference (у меня в этих строках компилятор даёт ошибку). Добавлено через 20 часов 17 минут Всё, я разобрался, всем спасибо. Я сделал все скины в одном проекте. Каждому набору скинов соответствует своя css. У каждой css выставил галочку "компилировать css в swf". Каждая библиотека компилируется в отдельный swf с тем же именем, что и css и по тому же относительному пути, по которому css лежит в проекте, но в папке bin-debug или bin-release. В этом swf автоматически собираются все классы скинов, которые нужны для этой темы (есть ссылки в css на эти классы). Скины, которые не задействованы в текущей теме не собираются в основной swf приложения, то есть на размер не влияют. Ошибку с ClassReference в css решил переносом css в корень проекта. Оказалось, что это давнишний баг flash builder. |
Часовой пояс GMT +4, время: 14:30. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.