自动调整Spark NavigatorContent的大小

时间:2014-12-20 12:21:51

标签: actionscript-3 flex actionscript

我有下一个等级:

<s:TabBar dataProvider="{stack}" />
<mx:ViewStack id="stack" width="100%">
    <s:NavigatorContent width="100%" label="123" backgroundColor="#c02c31" >
        <s:BorderContainer minHeight="200">
            <s:List id="testList" width="100%" contentBackgroundColor="#f00fff" contentBackgroundAlpha="0"/>
        </s:BorderContainer>
    </s:NavigatorContent>
</mx:ViewStack>

我希望实现下一步:当testList.dataProvider发生更改时,List会更改其大小,NavigatorContent也会更改其大小。但是现在NavigatorContent并没有改变它的大小取决于它的孩子。我做错了什么?

我编写了代码来测试它:

    private var _testDP1:Array = ["aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg", "aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg"];
    private var _testDP2:Array = ["aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg"];
    private var _someFlag:Boolean = false;

    private function onClick(event:MouseEvent):void
    {
        if (!_someFlag)
        {
            testList.dataProvider = new ArrayList(_testDP1);
            _someFlag = true;
        } else
        {
            testList.dataProvider = new ArrayList(_testDP2);
            _someFlag = false;
        }

    }

现在看起来如何。 在开始时:http://gyazo.com/65755dbd66346a49455344a767098b27

使用_testDP1:http://gyazo.com/007a76d03cc8c9c88c75439446e01102

使用_testDP2:http://gyazo.com/7dfccf00b7c39f6eb1cdac96298893d1

UPD:

我与另一位父母(但皮肤相同)进行核对:SkinnableContainer。它运作正常。所以NavigatorContent或ViewStack出了问题。

1 个答案:

答案 0 :(得分:0)

我自己找到了解决方案。有一个魔法属性resizeToContent可以解决我的问题!