Установка фонового изображения в Flex 4.5

Я написал пользовательский скин в Flex 4.5, который показывает пользовательское изображение. Я хочу, чтобы это было мое фоновое изображение, так как я могу установить эту обложку для контейнера приложения?

Спасибо


person GurdeepS    schedule 10.07.2011    source источник
comment
Вы установили свойство skinClass для своего Application?   -  person RIAstar    schedule 11.07.2011


Ответы (3)


Вы создаете скин приложения, как и любой другой компонент, конечно же, атрибут skinClass! :)

Как?

Вот мой app.mxml:

<?xml version="1.0"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" 
    skinClass="MyAppSkin">      
</s:Application>

Теперь я создаю простой скин с растянутым по размеру фоновым изображением!

Полный исходный код моего файла MyAppSkin.mxml здесь (слишком большой, чтобы размещать здесь): http://pastebin.com/Hwu9tc1Y

Вот важная часть (только часть действительно кастомизирована - остальное стандартно):

    <s:Group id="backgroundRect">
        <s:BitmapImage source="@Embed('beach.jpg')" left="0" right="0" top="0" bottom="0" scaleMode="stretch"/>
    </s:Group>

Что происходит, когда вы применяете скин, так это то, что он ищет определенные элементы по идентификатору (backgroundRect - это тот, который нас интересует) и применяет их. Чтобы настроить, просто измените нужные части скина. Я заменил стандартную фоновую заливку сплошным цветом на эту группу с изображением.

Кусок торта, сэр!

Есть смысл?

person Nate    schedule 11.07.2011
comment
Как преобразовать это для использования подхода AS? Из того, что я вижу в документации, следует избегать скинов на основе mxml. Мобильные оболочки более легкие, чем их настольные аналоги. В результате у них много различий; например: • Мобильные темы оформления написаны на ActionScript. Обложки, содержащие только ActionScript, обеспечивают наилучшую производительность на мобильных устройствах. - person pm_labs; 14.12.2011

Как насчет этого:

<s:BitmapImage source="@Embed('paper1.jpg')" 
  left="0" right="0"  
  width="100%" height="100%" 
/>
person SteAp    schedule 10.07.2011
comment
Я поместил это в разметку приложения, но фон не меняется? - person GurdeepS; 11.07.2011
comment
Вы уверены, что paper1.jpg существует и находится в папке src? - person SteAp; 11.07.2011

Установите фоновое изображение и добавьте компоненты

    <mx:VBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
        <s:List>
            <s:ArrayCollection>
                <fx:String>One</fx:String>
                <fx:String>Two</fx:String>
                <fx:String>Three</fx:String>
                <fx:String>Four</fx:String>
                <fx:String>Five</fx:String>
            </s:ArrayCollection>
        </s:List>
    </mx:VBox>
</s:Group>

person Kavin    schedule 18.06.2015