#flex4 #skinning
#flex4 #скининг
Вопрос:
У меня есть базовое приложение, которое я создаю с верхней панелью навигационных кнопок, нижней панелью кнопок и стеком просмотра содержимого посередине. Загвоздка в содержимом, а обложки полностью динамичны на основе загружаемого мной XML. Поэтому мне приходится создавать ViewStack динамически (потому что я не знаю, сколько у него может быть дочерних элементов), и то же самое касается верхней и нижней панелей кнопок навигации. Теперь я мог бы очень аккуратно справиться с этим с помощью Flex 3, однако я хочу сделать это с помощью Flex 4 и хотел бы воспользоваться преимуществами его новой архитектуры разделения логики и скининга. Я видел много руководств по этому вопросу, насколько компоненты известны во время компиляции, но не для создания пользовательского класса. Кто-нибудь может перечислить несколько хороших руководств? спасибо, Майк
Ответ №1:
Я не смог найти никаких руководств, поэтому я решил, что буду создавать свои компоненты динамически, как в Flex 3, единственное отличие будет в том, что если у меня есть компонент, который мне нужно скинировать, в моем случае кнопка, и я создаю его динамически, я бы использовал :
btn_nav.setStyle("skinClass",skins.NavMainToggleButtonSkin);
Где находится хост-компонент: [HostComponent(«spark.components.Кнопка переключения»)]
Я также использую пользовательский Spark Viewstack, который написал разработчик:
Также эта статья помогла мне с созданием пользовательского компонента и подключением к классу оболочки и тем, как это связано с жизненным циклом компонента:
http://flexguruin.wordpress.com/2010/12/08/flex-4-spark-component-life-cycle/
-Майк