nie mam pełny poradnik dla Ciebie, ale oto kilka pierwszych kroków w tworzeniu niestandardowy składnik hslider . Mam nadzieję, że to pomoże.
Rozpocznij patrząc na skórze hslider który składa się z 2 części, kciukiem i utwór:
<s:Button id="track" left="0" right="0" top="0" bottom="0" minWidth="33" width="100"
skinClass="spark.skins.spark.HSliderTrackSkin" />
<s:Button id="thumb" top="0" bottom="0" width="11" height="11"
skinClass="spark.skins.spark.HSliderThumbSkin" />
Teraz utwórz nową skórę wyjątkiem nadać mu dwa przyciski:
<s:Button id="track" left="0" right="0" top="0" bottom="0" minWidth="33" width="100"
skinClass="spark.skins.spark.HSliderTrackSkin" />
<s:Button id="thumb" top="0" bottom="0" width="11" height="11"
skinClass="spark.skins.spark.HSliderThumbSkin" />
<s:Button id="thumb2" top="0" bottom="0" width="11" height="11"
skinClass="spark.skins.spark.HSliderThumbSkin" />
Utwórz nowy komponent, który rozszerza HSlider i nazwij go czymś takim jak MultiButtonSlider. Zastąp funkcję partAdded() i pobierz referencję do kciuka2 po dodaniu.
override protected function partAdded(partName:String, instance:Object):void{
if(partName == "thumb2"){
thumb2 = instance as Button;
}
}
Mam nadzieję, że to od razu ruszy w dobrym kierunku. Nie zapomnij ustawić obiektu MultiButtonSlider.skinClass = "YourNewSkin". Kolejnym krokiem jest uczynienie go przeciągalnym i przekształcenie jego punktu w wartość. Zobacz funkcję HSlider.pointToValue().