Posted on 2007-08-24 20:26
云自无心水自闲 阅读(1665)
评论(0) 编辑 收藏 所属分类:
Flex 、
心得体会 、
Flex2
:
ViewStack的大小是由其子组件的大小决定的,而ViewStack并不会在改变活动子组件的时候自动resize。
只有使用以下方法来控制ViewStack的大小。
1. 使用相同的固定值明确指定所有子组件的大小
2. 使用相同的比例值指定所有子组件的大小
3. 将ViewStack的width和height的值设置为一个固定或者值。
上述3种方法是Adobe官方文档提供的。但是这3种方法不能解决ViewStack子组件大小不一致,ViewStack不能自动调整的问题。
我最后是使用ActionScript动态解决的。
在更换ViewStack的active child之间,首先设置viewStack的大小。
<mx:ViewStack id="appStack">
<mx:VBox id="v1"/>
<mx:VBox id="v2"/>
</mx:ViewStack>
public function changeChild() : void {
appStack.width = 200;
appStack.height = 200;
appStack.selectChild = v1;
}
我错了,使用ViewStack的resizeToContent是最好的解决办法。