Как переключиться на тему Halo в Flash Builder 4?
Как вы знаете, Adobe добавила новую тему под названием Spark во Flash Builder 4, но она выглядит для меня ужасно. Проблема в том, что я не могу переключить текущую тему на Halo!
Что я пробовал:
- Измените настройки темы в свойствах проекта. Никакого эффекта - все новые кнопки и другие элементы управления имеют эту тему
- Используйте настройки компилятора:
-theme=${flexlib}/themes/Halo/halo.swc
- также не влияет, та же история, что и выше
Затем я заметил, что в моем файле MXML есть 2 пространства имен:
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
Когда я переключил объявление кнопки с <s:Button>
в <mx:Button>
тогда моя кнопка стала выглядеть намного лучше. Но я не могу переключить все такие объявления вручную, и я не представляю, как сделать такое же изменение в Application
тег будет применять стиль на уровне приложения.
Итак, мой большой вопрос: как я могу заставить Flash Builder 4 использовать ту же тему, что и в Flash Builder 3? Как я могу применить его ко всем новым элементам управления? Есть ли уловки, которые я пропустил?
2 ответа
Переключение компонентов "вручную" может быть не таким уж сложным. Некоторые находят и заменяют переключение <s:
в <mx:
а также </s:
в </mx:
легко поймает все замены dropin, и, надеюсь, у вас не так много, которые на самом деле различаются по имени компонента.
Поскольку это общепринятый способ установки стиля компонентов, похоже, что вам, в конечном счете, придется делать, так или иначе.
В предоставленных темах для Flex 4 нет скинов со старым стилем "mx" для новых элементов управления свечей (s:Button и т. Д.). Если вы хотите, чтобы элементы управления свечами выглядели как старые элементы управления mx, вы нужно создавать свои собственные скины. Другой вариант, как вы упомянули, состоял бы в том, чтобы переключить все экземпляры элементов управления искрой на их более старые аналоги mx. Недостатком является то, что вы не получите никакой отдачи от новых искровых компонентов. Извините, у меня нет хороших новостей для вас.