我有下一个等级:
<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出了问题。
答案 0 :(得分:0)
我自己找到了解决方案。有一个魔法属性resizeToContent
可以解决我的问题!