2009-11-22 6 views
7

Je suis en train de créer un composant personnalisé qui étend SkinnableContainer. Je peux centrer le contenu verticalement ou horizontalement à l'intérieur, mais pas les deux - et c'est ce dont j'ai besoin.Centrage du contenu dans Flex 4

Je définis la mise en page sur HorizontalLayout pour le composant et le paramètre verticalAlign sur le milieu.

Ensuite, je crée un canevas pour entourer un autre composant qui va à l'intérieur de ce composant, et en définissant cette largeur de toile à 100%, puis en définissant textAlign = center, mais pas de dés.

Toute aide est appréciée.

Répondre

20

Utilisez les propriétés horizontalCenter et verticalCenter pour centrer vos groupes. La valeur est le nombre de pixels de chaque centre où le signe de la valeur indique la direction, 0 est le centre absolu.

Cela fera l'affaire (en supposant que vous voulez une mise en page horizontale pour vos articles). L'espace de noms 's' fait référence aux composants de l'étincelle, puisque vous posez des questions sur flex 4, je suppose que Halo n'est pas intéressant.

<s:Group> 
    <!-- Any parent with BasicLayout will acknowledge horizontalCenter and verticalCenter --> 
    <s:layout> 
     <s:BasicLayout /> 
    </s:layout> 

    <s:Group horizontalCenter="0" verticalCenter="0"> 
     <s:layout> 
      <s:HorizontalLayout/> 
     </s:layout> 

     <s:Button /> 
     <s:Button /> 
     <s:Button /> 
    </s:Group> 
</s:Group> 
+0

Merci Macke, a fonctionné parfaitement! :) – ruedaminute

+0

Pas de problème, heureux de vous aider! Beau site que vous avez compris, continuez votre bon travail! –

+0

Merci! Le vôtre aussi ... bien que je ne puisse rien lire, le design est très joli – ruedaminute