2010-07-09 2 views
2

Я использую Flash Builder 4 для создания приложения. Мне нужно установить фоновое изображение для приложения. Я просмотрел данные из XML.Фоновый рисунок в Flex

Я использую <mx:Image> для фонового изображения. Но мне нужно, чтобы в нем были добавлены элементы. Как мне это достичь? Я рассмотрел использование слоев, но не знаю, как вы это достигаете.

Любая помощь приветствуется.

Приветствие

+0

я использую для фона изображения – StuBlackett

ответ

3

Один подхода: в нашем гибком применении, у нас есть холст позади нашего основного контейнера, как в

<mx:Canvas id="bgImg" width="1280" height="800" 
      backgroundImage="assets/background.jpg" /> 
<containers:FlashContainer id="mainContainer"> 
<!-- HBoxs, VBoxes and loads of other components --> 
</containers:FlashContainer> 

Таким образом, другие элементы вы хотите добавить бы существовать в пределах внутреннего контейнер с неподвижным холстом «позади», который держит ваш образ.

Чтобы получить это, чтобы работать в Flex 4, вам необходимо скомпилировать тему Halo (вместо Spark). Мы используем flex builder и устанавливаем следующий флаг в соответствии с предпочтениями компилятора проекта.

-theme=${flexlib}/themes/Halo/halo.swc 

Как и в следующем изображении:

alt text

+0

Почему бы вы добавить холст лишь для фона, вместо того, чтобы использовать фоновую картинку на бирке приложений? – JeffryHouser

+0

Большое спасибо за это. Изменена тема в Halo. Работает до некоторой степени, но фоновое изображение теперь сдвинуто направо? – StuBlackett

+0

@Flextras: мы использовали этот формат в Flex 3, потому что он дал нам большой контроль над позиционированием и эффектами изображения. У нас строгие требования к расположению фона, и мы также добавляем showEffect. Поэтому, когда изображение загружается, оно исчезает, что выглядит удивительно чистым и четким. Итак, в целом, чтобы ответить на ваш вопрос, используя компонент, мы получили гораздо больший контроль. Однако, когда мы переходим к Flex 4, мы рассматриваем возможность пересмотра этого подхода для использования скинов Spark. Однако этот подход не так прост, как должен быть. – gMale

1

В Flex 3 модели, вы можете установить backgroundImage по тегу Application, который должен, по сути, дать все ваше приложение фоновое изображение ,

В модели Flex 4 вам необходимо создать собственный класс скинов для вашего тега приложения. Установите кожу, используя стиль skinClass. Поскольку s:Application расширяет SkinnableContainer, вы можете использовать стиль SkinnableContainer по умолчанию в качестве руководства для добавления фонового изображения. По умолчанию, по умолчанию, это просто Rect с сплошным заполнением.

+0

Это также возможно с данными XML? – StuBlackett

+0

Ничто из сказанного не относится к данным вообще. Если местоположение фонового изображения находится внутри XML-документа; вам нужно извлечь его, как использовать это исходное значение в качестве стиля backgroundImage. – JeffryHouser

+0

Поскольку вы добавили разъяснения на свой исходный пост; Я укажу, что изображение не является контейнером, и вы не можете вставлять в него элементы. Однако, если вы используете абсолютное позиционирование, вы можете поместить другие компоненты поверх него. – JeffryHouser

0

им все еще работает в FLEX3, поэтому я использовал бы BackgroundImage на бирке приложений, а также делать множество backgroundSize до 100%, эти 2 свойства г на бирке приложения,

может быть некоторая помощь 2 у

дц

Смежные вопросы