Flex-4 Beta2: фоновое изображение перестало работать
После обновления проекта с Flex4 Beta1 до Beta2 я обнаружил, что стиль фонового изображения больше не поддерживается компонентами Halo.
Например:
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundImage="@Embed(source='myImage.png')" />
Обратите внимание, что выпуск jira SDK-23050 указывает на следующее:
backgroundImage не поддерживается для скинов Spark.
Но это не использует скин Spark, а просто стандартный компонент Halo.
У кого-нибудь есть идеи?
4 ответа
Я закончил тем, что изменил backgroundImage на backgroundSkin, и это решило проблему.
<s:BorderContainer x="100" y="100" width="200" height="200"
backgroundImage="@Embed(source='image.jpg)" >
</s:BorderContainer>
Используйте код выше. Любая искра:BorderContainer имеет опцию backgroundImage, либо другие опции backgroundImage. Добавьте изображение, которое вы хотите, к своему источнику и поместите для image.jpg имя вашего изображения с его расширением. не забывайте одинарные кавычки.
Вы должны создать класс скина сейчас. Используйте VGroup и укажите пользовательский скин.
Компоненты MX в Flex 4 позволяют использовать обложки Spark, а Adobe по умолчанию использует обложки Spark, поэтому компоненты MX и Spark в одном приложении выглядят так, как будто они принадлежат друг другу. Очевидно, что скины Spark поддерживают другую функциональность, чем скины Halo, и теперь вы должны настроить скины, если хотите, чтобы они выглядели по-разному (за исключением некоторых простых цветовых стилей). Учитывая, насколько креативными могут быть дизайнеры, этот подход намного лучше, чем использование только CSS, потому что он более гибкий, но он застает людей, знакомых с рабочим процессом Flex 3, врасплох.
Не так сложно скопировать скин по умолчанию и добавить в него фон. Однако вы также должны иметь возможность использовать старый скин Halo для получения поддержки backgroundImage, если вы этого предпочитаете. Я полагаю, что вы хотите сказать своему VBox использовать mx.skins.halo.HaloBorder.