#apache-flex #actionscript-3 #flex4
#apache-flex #actionscript-3 #flex4
Вопрос:
Мы создаем приложение, которое использует классы оболочек в mxml. Мы планируем создать разные варианты этого приложения для разных пользовательских сегментов, где большая часть функциональности останется одинаковой, но только оболочки различаются в зависимости от пользовательского сегмента.
Мы добавляем оболочки в приложение с помощью следующего синтаксиса:
<s:BorderContainer id="Banner" height="15%" width="100%" skinClass="mySkins.backgroundSkin"/>
Есть ли способ, которым мы можем создать оболочку на основе некоторых условий
то есть, если usersegment = "A"
использовать myskins.backgroundSkin1
, то использовать myskins.backgroundSkin2
иначе?
Ответ №1:
Создайте таблицу стилей для каждого пользовательского сегмента, где вы определяете сопоставление классов оболочки.
Затем вы можете вызвать свою таблицу стилей во время выполнения с помощью :
styleManager.loadStyleDeclarations("yourStylesheet.swf")
Ответ №2:
Вы также можете установить оболочку с помощью actionscript, например:
if (usersegment == "A")
Banner.setStyle("skinClass", mySkins.backgroundSkin1);
else
Banner.setStyle("skinClass", mySkins.backgroundSkin2);
Комментарии:
1. Извините за голосование «против», но я не думаю, что это вообще правильный путь. Это привело бы к жесткому кодированию зависимости от пользовательского сегмента, когда все, что вам нужно сделать, это загрузить другое объявление стиля. PS: еще раз извините, если система голосования «Против» должна использоваться не так (я все еще новичок на этом сайте) 🙂