有没有办法将组件定位在固定的flex中?

时间:2011-11-23 02:54:26

标签: actionscript-3 flex flex3 vbox

就像在HTML / CSS中一样,您可以使用css将div的位置设置为“固定”。例如,当用户向下滚动网页时,标题会固定在网页顶部。

这在Flex中是否可行?

我看过

VDividedBox

控制我正在做什么但不喜欢'divider'。

非常感谢任何想法。

2 个答案:

答案 0 :(得分:1)

好的,这就是我使用

创建固定顶部组件和滚动底部组件的方法
VDividedBox

将VDividedBox中第二个Box的height设置为“1”是关键。只要有一些高度值,它就会按我想要的方式工作。 VDividedBox的另一个属性是verticalGap,我设置为3以使分割器显示而没有可拖动的图像。

这是代码。

<mx:VDividedBox id="vDividedBox" verticalGap="3" width="100%" height="100%">
    <mx:VBox id="vBox1" width="100%" backgroundColor="haloGreen">                
            <mx:Button label="button"></mx:Button>                
    </mx:VBox>
    <mx:VBox id="hBox2" width="100%" backgroundColor="haloBlue" height="1">
            <mx:Box height="3000" backgroundColor="blue" width="100%" horizontalAlign="center">
                <mx:Label text="scrollable content" color="white" fontSize="20"/>       
            </mx:Box>
    </mx:VBox>        
</mx:VDividedBox>

答案 1 :(得分:0)

我没有在Flex中看到任何具有真正CSS样式fixed定位的盒子容器。一些Flex元素可以使用绝对定位(Canvas,Application或Panel with layout="absolute"),然后您可以将VDividedBox放在绝对定位工具栏下面的图层上,这可能会产生固定工具栏的错觉。

您可能需要查看Javascript外部接口api,以创建一个位于Flex外部的工具栏,并使用它来控制您的某些Flex UI。您可以使用Javascript向HTML和Flex传递坐标,告诉HTML工具栏将自己放在Flex SWF上的位置。