2010-09-09 5 views

Répondre

0

<... borderSides=”left bottom right” borderStyle=”solid” borderThickness=”1″ ...>

aussi vous pouvez écrire votre propre peau

ou étendre le composant lui-même

+0

Dans ce cas, la bordure sera retirée du côté supérieur. Mais j'ai besoin d'enlever la bordure juste sous le bouton sélectionné. – im4LF

+0

il suffit d'appliquer ce style en cas d'état sélectionné. Connaissez-vous les états? – Eugene

+0

Oui, je connais les états. Et j'essaie d'utiliser des conseils, mais ... voir le post suivant avec des explications. – im4LF

2

Comment son doit être:

How its must be

Essayer d'utiliser BlendMode.ERASE:

Code d'application:

... 
<s:SkinnableContainer blendMode="layer" ... skinClass="skins.TabBorder"> 
    <mx:ViewStack ...> 
     <s:NavigatorContent label="Search" skinClass="skins.TabSkin" /> 
     <s:NavigatorContent label="Customer Info" skinClass="skins.TabSkin" /> 
    </mx:ViewStack> 
    <s:TabBar dataProvider="{myViewStack}" ... /> 
</s:SkinnableContainer> 
... 

skins.TabBorder:

<s:Rect left="0" right="0" top="25" bottom="0" radiusX="6" topLeftRadiusX="0"> 
    <s:stroke> 
     <s:SolidColorStroke color="#ffffff" alpha="0.3" /> 
    </s:stroke> 
</s:Rect> 

skins.TabBarButtunSkin:

<!-- its black rect which clears all under --> 
<s:Rect blendMode="erase" top="0" left="0" right="0" bottom="-2" topLeftRadiusX="6" topRightRadiusX="6" includeIn="selectedStates, overStates"> 
    <s:fill> 
     <s:SolidColor color="#000000" /> 
    </s:fill> 
</s:Rect> 

Peut-être il y a un moyen plus facile?

+0

Je pense que vous utilisez déjà un moyen plus facile, parce que tous les autres seront plus difficiles, et pas très bonnes solutions dans la logique de conception/vue. – Eugene