Flex 4: Construire un Groupe avec un arrière-plan
Je suis en train de construire un composant simple extension de l'étincelle.des composants.Groupe d'avoir une couleur d'arrière-plan, plus précisément une étincelle.primitives.Rect composant étirée pour remplir l'arrière-plan.
C'est ce que j'ai trouvé jusqu'à présent:
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo"
<fx:Metadata>
[DefaultProperty(name="content")]
</fx:Metadata>
<s:Rect id="background" width="100%" height="100%">
<s:fill>
<s:SolidColor color="#990000"/>
</s:fill>
</s:Rect>
<s:Group id="container"/>
<s:filters>
<!-- For good measure ;) -->
<s:DropShadowFilter color="#000000" strength="0.4" blurX="5" blurY="5" distance="2" angle="90"/>
</s:filters>
<fx:Script>
<![CDATA[
public function set content(value:Array):void {
this.container.mxmlContent = value;
}
]]>
</fx:Script>
</s:Group>
Ok, donc la logique ici essentiellement de sens, non? Tous les enfants déclarés dans MXML aller pour le Groupe "conteneurs". Qui fonctionne très bien. Cependant, lorsque je lance l'exemple ci-dessous, la mise en page est complètement fubar.
<s:VGroup>
<!-- This is the component described above -->
<components:MessageContainer id="component" width="100" height="100"/>
<mx:Slider/>
<mx:Slider/>
<mx:ColorPicker/>
</s:VGroup>
C'est à quoi il ressemble:
Il y a une chose qui me manque ici? Peut-être une méthode que j'ai besoin de le remplacer?
Vous devez vous connecter pour publier un commentaire.
Bizarre. J'ai juste eu recours à la prise d'une Peau de mise en œuvre et de les appliquer à une SkinnableContainer. J'ai été compilation à l'aide de la version Bêta 2 de Flex 4 ainsi. Très étrange en effet.
Quelle version de flex 4 utilisez-vous? Je viens de copier votre code et le résultat ressemble à ce que vous pouvez attendre qu'il.
Je suis en cours d'exécution de la beta 2 build qui a été publié dans le dernier quelques semaines. Construire 4.0.0.253292. Vous pouvez mettre à niveau votre version si vous n'êtes pas équipé de la dernière, mais vous pouvez aussi essayer de nettoyer le projet. C'est peut-être de se confondre. Assurez-vous également que votre navigateur n'est pas mise en cache de la swf, ce qui arrive parfois, lorsque la taille du fichier ne change pas de façon spectaculaire.