2013-04-24 133 views
0

我试图在Flash CS4中使用内置的AS3滑块组件设置自定义外观。我有以下代码,但设置myslider.widthmyslider.height似乎没有任何影响。滑块仍然以默认的宽度和高度显示,并且我的自定义sliderTrackSkin被缩小。设置Flash AS3 Slider组件的宽度和高度

import fl.controls.Slider; 
import fl.controls.SliderDirection; 
import fl.events.SliderEvent; 

var myslider:Slider = new Slider(); 
myslider.direction = SliderDirection.VERTICAL; 
myslider.width = 43; 
myslider.height = 110; 
myslider.minimum = 1; 
myslider.maximum = 90; 
myslider.value = 30; 
myslider.snapInterval = 1; 
myslider.liveDragging = true; 
myslider.addEventListener(SliderEvent.CHANGE, slider_change); 
myslider.move(640, 60); 
myslider.setStyle("thumbUpSkin", thumb1); 
myslider.setStyle("thumbDownSkin", thumb1); 
myslider.setStyle("thumbOverSkin", thumb1); 
myslider.setStyle("sliderTrackSkin", slidertrack1); 
addChild(myslider); 

我将不胜感激任何意见。谢谢。

回答

1

事实证明,myslider.widthmyslider.height已对父级生效,但滑块组件的大小和轨迹未被调整大小。我不得不手动调整拇指和跟踪这样的:

var mysliderthumb = Sprite(myslider.getChildAt(1)); 
mysliderthumb.height = 34; 
mysliderthumb.width = 15; 

var myslidertrack = Sprite(myslider.getChildAt(0)); 
myslidertrack.height = 15; 
myslidertrack.width = 100; 

此外,因为我有myslider.direction = SliderDirection.VERTICAL,拇指和轨道正在旋转90度,所以我不得不相应翻转的宽度和高度。

0

尝试在设置所有属性并应用外观后调用myslider.validateNow()方法。

+0

谢谢,但这不是问题。不过,我明白了。 – nullability 2013-04-25 15:42:09