我正在尝试使用Flash CS4中的内置AS3滑块组件设置自定义外观。我有以下代码,但设置myslider.width
和myslider.height
似乎没有任何效果。滑块仍然以默认的宽度和高度显示,我的自定义sliderTrackSkin正在按比例缩小。
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);
我很感激任何建议。感谢。
答案 0 :(得分:1)
事实证明myslider.width
和myslider.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度所以我不得不相应地翻转宽度和高度。
答案 1 :(得分:0)
设置所有属性并应用外观后,尝试调用myslider.validateNow()
方法。