Ajouter

Personnaliser le trackHighlight d'un Halo HSlider ou VSlider dans Flash Builder 4 / Flex 4


Cet exemple de Flash Builder 4 vous montre comment personnaliser le trackHighlight d'un component Halo HSlider ou VSlider de différentes manières dans Flex 4 Gumbo :

  • 1. Définition des propriétés de Style CSS showTrackHighlight et trackHighlightSkin
  • 2. Définition des propriétés de Style showTrackHighlight et trackHighlightSkin dans un fichier .CSS externe
    ou dans un container de style
  • 3. Définition des propriétés de Style showTrackHighlight et trackHighlightSkin directement en ActionSript dans un container fx:Script

Mise en avant : showTrackHighlight – trackHighlightSkin

Pour information, les sources du skin Halo se trouvent à l'emplacement suivant dans le SDK Flex :
%Flex SDK%\frameworks\projects\sparkskins\src\mx\skins\spark\*.

Attention : vous devez impérativement disposer du SDK 4.0.0.10007 ou supérieur.

 

1. Définition des propriétés de Style CSS showTrackHighlight et trackHighlightSkin

Source de l'application :

 MXML |  Copier le code 
<?xml version="1.0" encoding="utf-8"?>
<!-- http://www.flash-builder-tutorial.fr/2009/09/26/personnaliser-trackhighlight-hslider-vslider-flash-builder-flex-4/ -->
<s:Application name="Halo_HSlider_trackHighlightSkin_test"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/halo" viewSourceURL="srcview/index.html">
    <s:controlBarContent>
        <s:CheckBox id="chckBx"
                label="showTrackHighlight"
                selected="true" />
    </s:controlBarContent>
 
    <mx:HSlider id="sldr"
            showTrackHighlight="{chckBx.selected}"
            trackHighlightSkin="skins.CustomSliderTrackHighlightSkin"
            value="7"
            horizontalCenter="0" verticalCenter="0" />
 
</s:Application>

Source du composant skins/CustomSliderTrackHighlightSkin.mxml :

 MXML |  Copier le code 
<?xml version="1.0" encoding="utf-8"?>
<!-- http://www.flash-builder-tutorial.fr/2009/09/26/personnaliser-trackhighlight-hslider-vslider-flash-builder-flex-4/ -->
<s:Skin name="CustomSliderTrackHighlightSkin"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark" 
        height="11" width="200"
        disabledAlpha="0.5">
 
    <s:Rect left="0" right="0" top="2" height="4">
        <s:fill>
            <s:SolidColor color="red" alpha="0.35" />
        </s:fill>
    </s:Rect>
 
</s:Skin>

Rendu (nécessite Flash Player 10) :

This movie requires Flash Player 10

Télécharger la source de l'exemple

 

2. Définition des propriétés de Style showTrackHighlight et trackHighlightSkin dans un fichier .CSS externe ou dans un container de style

 MXML |  Copier le code 
<?xml version="1.0" encoding="utf-8"?>
<!-- http://www.flash-builder-tutorial.fr/2009/09/26/personnaliser-trackhighlight-hslider-vslider-flash-builder-flex-4/ -->
<s:Application name="Halo_HSlider_trackHighlightSkin_test"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/halo" viewSourceURL="srcview/index.html">
 
    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/halo";
 
        mx|HSlider {
            showTrackHighlight: true;
            trackHighlightSkin: ClassReference("skins.CustomSliderTrackHighlightSkin");
        }
    </fx:Style>
 
    <mx:HSlider id="sldr"
            value="7"
            horizontalCenter="0" verticalCenter="0" />
 
</s:Application>

Rendu (nécessite Flash Player 10) :

This movie requires Flash Player 10

Télécharger la source de l'exemple

 

Définition des propriétés de Style showTrackHighlight et trackHighlightSkin directement en ActionSript dans un container fx:Script

 MXML |  Copier le code 
<?xml version="1.0" encoding="utf-8"?>
<!-- http://www.flash-builder-tutorial.fr/2009/09/26/personnaliser-trackhighlight-hslider-vslider-flash-builder-flex-4/ -->
<s:Application name="Halo_HSlider_trackHighlightSkin_test"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/halo" viewSourceURL="srcview/index.html">
    <s:controlBarContent>
        <s:Button id="btn"
                label="Définir le skin du trackHighlight"
                click="btn_click(event);" />
        <s:CheckBox id="chckBx"
                label="showTrackHighlight"
                selected="true"
                change="chckBx_change(event);" />
    </s:controlBarContent>
 
    <fx:Script>
        <![CDATA[
            import skins.*;
 
            protected function btn_click(evt:MouseEvent):void {
                sldr.setStyle("showTrackHighlight", chckBx.selected);
                sldr.setStyle("trackHighlightSkin", CustomSliderTrackHighlightSkin);
            }
 
            protected function chckBx_change(evt:Event):void {
                sldr.setStyle("showTrackHighlight", chckBx.selected);
            }
        ]]>
    </fx:Script>
 
    <mx:HSlider id="sldr"
            value="7"
            horizontalCenter="0" verticalCenter="0" />
 
</s:Application>

Rendu Final(nécessite Flash Player 10) :

This movie requires Flash Player 10

Télécharger la source de l'exemple

 

Discussion

Commentaire(s) au sujet de ce post

  • ben février 20th, 2011 at 0 h 11 min #1

    je ne savais pas que c'est faisable!! Merci

  • Ouranos mai 30th, 2011 at 17 h 19 min #2

    Bonjour,

    j'aurais une question légèrement décalée, mais cela fait deux jours que je parcours le net afin de trouver comment augmenter et diminuer l'opacité d'une image à l'aide d'un composant HSlider et je n'y arrive pas. Pourriez-vous m'aider en faisant un Tuto car je désespère un peu.

    D'avance, merci!!

Répondre

Avis / Question ... n'hésitez pas

* Required

Posts récents Posts aléatoires Last comments

  • zahhari A dit :

    Bonsoir, Je veuw savoir comment je peux intégrer une video (sur mon Pc) en clicant sur le marker ...

  • bengbenz A dit :

    J'ai trouvé !!! voilà, une solution ! comme l'erreur l'indique, si je ne me trompe pas le composa...

  • bengbenz A dit :

    Même que mes prédécesseurs ! De l'aide, s'il vous plait ! Quelqu'un a la solution ?...

  • chtioui hamza A dit :

    j'ai besoin d'aide please est ce que quelqu'un a trouvé la solution?????...

  • chtioui hamza A dit :

    meme probleme que les autres, pleaaaaaaaaaase aidez noussssssssssssss :(...

  • seznamkcsaino A dit :

    krasnych kosil, pul druheho tuctu bilych platenych kapesniku a nekolik barevnych satku na ...

  • seznamkcsaino A dit :

    odpovednosti. Z tohoto stanoviska porota je vynalez, jak presunouti ...

  • Techauto A dit :

    Même problème! Quelqu'un aurais trouvé une solution? Merci d'avance pour votre aide Salut...

  • bouchra A dit :

    merci...

  • whowKnivoto A dit :

    Majs tam kvmtinбиe s ummlэmi kvmtinami. [url=http://lalbero....