Question

Je me souviens utilisation du tableau des valeurs sur le bon vieux mx: HSlider, est-il solution de contournement pour s:! HSlider

En fait j'ai besoin curseur pour choisir des valeurs comprises entre 300 et 2500 en suivant les étapes 300,500,1000,2000,2500.

<s:HSlider id="franchiser" 
   value="1500" 
   skinClass="components.HorizontalSlider" x="0" y="0" 
   minimum="300" maximum="2500" />

Dans le cas contraire avec ce composant, est-il curseur skinable alternatif là-bas!

Merci à l'avance!

Était-ce utile?

La solution

La valeur par défaut HSlider ne possède pas cette fonctionnalité.

Pour ce faire, vous devrez créer une classe qui étend HSlider et ajoute cette fonctionnalité.

Vous pouvez voir un exemple de la façon d'étendre une classe Flex ici: http://blog.flexexamples.com/2008/09/08/extending-the-linkbutton-control-in-flex/

Autres conseils

Extend, et faites glisser le pouce ou la piste utilisation de clic   pointToValue

pour trouver votre valeur cliqué et rond à la valeur la plus proche que vous voulez à la rupture de. Cela vaut mieux que l'ancien comportement de pression parce que vous pouvez faire des choses cool comme serpentine logarithmique (par exemple accrochez 1,10,100,1000).

Voici une solution de base (qui pourrait facilement être mis dans une classe), pour ceux qui pourraient en avoir besoin:

<fx:Script>
  <![CDATA[

    import mx.collections.ArrayCollection;

    [Bindable]
    private var sliderValues:ArrayCollection =
      new ArrayCollection([300,500,1000,2000,2500]);

  ]]>
</fx:Script>
...
<s:HSlider id="sldr"
  minimum="0" maximum="{sliderValues.length - 1}"
  stepSize="1" snapInterval="1"
  dataTipFormatFunction="{
    function():String
    {
      return sliderValues[sldr.value].toString();
    }}"/>

<s:Label text="{sliderValues.getItemAt(sldr.value)}"/>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top