Flex自定义切换开关无法在actionscript中工作

时间:2012-10-05 09:32:49

标签: actionscript-3 flex toggle

我有一个自定义Flex Toggleswitch组件,可以更改交换机的文本值。

    package skins
{
    import spark.skins.mobile.ToggleSwitchSkin;

    public class MyToggleSwitchSkin extends ToggleSwitchSkin
    {
        public function MyToggleSwitchSkin()
        {
            super();
            selectedLabel="Serviceable";
            unselectedLabel="Fault";

        }
    }
}

如果我使用MXML标记添加控件,它可以正常工作。但是,当我使用动作脚本添加组件时,它不会。

import skins.MyToggleSwitchSkin;
public function addToggle():void {
   var myCustomToggle:MyToggleSwitchSkin = new MyToggleSwitchSkin();
   hgroup.addElement(myCustomToggle);
} 

控制dsiplay但不会激活。

我错过了哪些想法?

1 个答案:

答案 0 :(得分:0)

在没有看到您的MXML代码的情况下,比较两种方法很难,但我相信@al_Birdy解决了这个问题。您已经创建了自定义ToggleSwitchSkin;不是自定义ToggleSwitch。

修改你的addToggle()方法,如下所示:

public function addToggle():void {
   var myCustomToggle:MyToggleSwitch = new MyToggleSwitch();
   myCustomToggle.setStyle('skinClass',skins.MyToggleSwitchSkin);
   hgroup.addElement(myCustomToggle);
} 

我怀疑你会有更好的运气。