【问题标题】:Setting Width and Height of Flash AS3 Slider Component设置 Flash AS3 Slider 组件的宽度和高度
【发布时间】:2013-04-18 15:58:12
【问题描述】:

我正在尝试使用 Flash CS4 中的内置 AS3 滑块组件设置自定义皮肤。我有以下代码,但设置myslider.widthmyslider.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);

如果有任何建议,我将不胜感激。谢谢。

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案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 度,所以我不得不相应地翻转宽度和高度。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢,但这不是问题所在。不过我想通了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 2015-04-29
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 1970-01-01
      相关资源
      最近更新 更多