如何在ActionScript中声明组件状态?

时间:2010-09-15 15:04:34

标签: flex actionscript-3 flex4

在mxml中,您声明如下状态:

<box:states>
    <s:State name="active"/>
    <s:State name="disabled"/>
</box:states>

如何在ActionScript类中实现相同的功能?显然它在Flex 3和Flex 4中都是一样的,无论它是什么。

2 个答案:

答案 0 :(得分:3)

如果可以避免,那就行!

那说,屏住呼吸!

那就是说,看看State班级。创建一个新实例并定义替代。我相信所有覆盖都在“另见”链接中链接。

每个组件都有一个“states”数组。

因此,只需手动创建状态。添加相关的覆盖,并将该状态添加到states数组。

这并不难,但它可能相当繁琐。我为Flextras日历做了这个。

答案 1 :(得分:3)

感谢您的回答。这就是我想出的:

// constructor
public function MyBox() {
    states = new Array();

    for each (var name:String in ['working', 'active', 'disabled']) {
        var state:State = new State();
        state.name = name;
        states.push(state);
    }
}