2010-07-09 4 views
2

J'utilise Flash Builder 4 pour créer une application. J'ai besoin de définir une image de fond pour l'application. J'ai extrait les données de XML. J'utilise un <mx:Image> pour l'image d'arrière-plan. Mais j'ai besoin d'éléments à ajouter à l'intérieur. Comment puis-je y parvenir? J'ai envisagé d'utiliser des calques, mais je ne sais pas comment vous y parviendrez.Image d'arrière-plan dans Flex

Toute aide appréciée.

Vive

+0

J'utilise pour le background-image – StuBlackett

Répondre

3

Une approche: dans notre application Flex, nous avons une toile derrière notre conteneur primaire comme dans

<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> 

Ainsi, les autres éléments que vous cherchez à ajouter serait exister au sein de l'interne conteneur avec une toile fixe "derrière", qui détient votre image. Pour que cela fonctionne dans Flex 4, vous devez compiler avec le thème Halo (au lieu de Spark). Nous utilisons flex builder et définissons l'indicateur suivant dans les préférences du compilateur de projet.

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

Comme dans l'image suivante:

alt text

+0

Pourquoi voudriez-vous ajouter une toile juste pour l'arrière-plan au lieu d'utiliser une image de fond sur l'étiquette d'application? – JeffryHouser

+0

Un grand merci pour cela. Changé le thème à Halo. Fonctionne dans une certaine mesure, mais l'image de fond a maintenant été poussé vers la droite? – StuBlackett

+0

@Flextras: nous avons utilisé ce format dans Flex 3 car il nous donnait beaucoup de contrôle sur le positionnement et les effets de l'image. Nous avons des exigences strictes sur l'emplacement de l'arrière-plan et nous ajoutons également un effet showEffect. Ainsi, lorsque l'image se charge, elle se fond, ce qui est incroyablement net et net. Donc, dans l'ensemble, répondre à votre question en utilisant un composant nous a donné beaucoup plus de contrôle. Cependant, à mesure que nous migrons vers Flex 4, nous envisageons de réviser cette approche pour utiliser les habillages Spark. Cependant, cette approche n'est pas aussi simple qu'elle devrait l'être. – gMale

1

Dans le Flex 3 Modèle, vous pouvez définir une backgroundImage sur l'étiquette d'application, qui devrait, effectivement, donner votre application toute une image de fond .

Dans le modèle Flex 4, vous devez créer une classe d'habillage personnalisée pour votre balise Application. Définissez la peau en utilisant le style skinClass. Puisque s:Application étend SkinnableContainer, vous devriez pouvoir utiliser le style SkinnableContainer par défaut comme guide pour ajouter une image d'arrière-plan. Le fond par défaut, je crois, est juste un Rect w/un remplissage solide.

+0

également possible avec XML Data? – StuBlackett

+0

Rien de ce que j'ai dit ne concerne les données. Si l'emplacement de votre image d'arrière-plan est situé dans un document XML; vous devrez l'extraire en utilisant cette valeur source comme le style backgroundImage. – JeffryHouser

+0

Depuis que vous avez ajouté une clarification sur votre message original; Je spécifierai que l'image n'est pas un conteneur et que vous ne pouvez pas y placer des éléments. Si vous utilisez le positionnement absolu, vous pouvez cependant ajouter d'autres composants. – JeffryHouser

0

im travaille toujours à Flex3, donc j'aurait utilisé backgroundImage sur l'étiquette d'application, et aussi faire mettre backgroundSize à 100%, ces 2 propriétés r sur l'étiquette d'application,

peut-être un peu d'aide 2 u

tc

Questions connexes