Adobe Flex 3:指定的宽度和高度百分比不适用于视图堆栈的子项

时间:2011-09-30 09:22:44

标签: flex flex3 adobe rendering

ViewStack dataProviderTabBar VBox。这个ViewStack有两个VBox作为子项。它适用于这些VBox的宽度和高度的绝对值,但是当以百分比指定时,ViewStack将所有可用空间(100%)用于任何百分比值。请在下面找到代码和屏幕截图。

有人可以解释为什么会这样渲染吗?还有一个horizontalAlign的孩子如何与中心对齐? ViewStack没有horizontalCenter= "0"属性,但无法使用<mx:ViewStack id="viewStack" width="100%" height="100%" selectedIndex="0" horizontalCenter="0" textAlign="center"> <mx:VBox label="Tab 1" width="25%" height="10%" borderThickness="2" borderColor="red" borderStyle="solid" horizontalAlign="left"> <mx:Text text="This is tab 1" /> </mx:VBox> <mx:VBox label="Tab 2" width="30%" height="20%" borderThickness="2" borderColor="haloBlue" borderStyle="solid"> <mx:Text text="This is tab 2" /> </mx:VBox> </mx:ViewStack>

代码:     

{{1}}

图片1(带绝对值): enter image description here

图像2(宽度=“25%”,高度=“10%”): enter image description here

谢谢, 安

2 个答案:

答案 0 :(得分:2)

只需使用填充空间的外部容器(这是您在视图堆栈中想要的内容)并将内容放入其中。外部容器可以使您的内部内容居中。像这样:

<mx:Box label="Tab 1" width="100%" height="100%" horizontalAlign="center">
    <mx:VBox  width="25%" height="10%" borderThickness="2" borderColor="red" 
              borderStyle="solid" >
        <mx:Text text="This is tab 1" />
    </mx:VBox>
</mx:Box>

答案 1 :(得分:0)

请参阅链接

View Stack Container请阅读

调整ViewStack容器子项的大小

你可以得到明确的想法

如果需要,请在vbox中使用另一个容器

        ~~~ HappY Coding ~~~