0

我有一个自定义 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);
} 

控件显示但不会激活。

有什么我错过的想法吗?

4

1 回答 1

0

如果没有看到您的 MXML 代码,很难比较您的两种方法,但我相信 @al_Birdy 解决了这个问题。你已经创建了一个自定义的 ToggleSwitchSkin;不是自定义切换开关。

像这样修改您的 addToggle() 方法:

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

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

于 2012-10-05T12:31:01.507 回答