就像在HTML/CSS中一样,你可以使用CSS将div的位置设置为'固定'。例如,当用户向下滚动网页时,固定在网页顶部的标题
这在Flex中可能吗?
我已经看过了
VDividedBox
控制哪一种做我想要的,但不喜欢'分隔符'。
好的,这就是我如何使用
创建固定顶部组件和滚动底部组件的方法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>
我还没有在Flex中看到任何具有真正CSS样式fixed
定位的盒子容器。一些Flex元素可以使用绝对定位(Canvas, Application或Panel with layout="absolute"
),然后你可以将VDividedBox放在绝对定位工具栏下面的图层上,这可以给人一种固定工具栏的错觉。
你可能想看看Javascript外部接口api来创建一个位于Flex之外的工具栏,并使用它来控制一些Flex UI。您可以使用Javascript在HTML和Flex之间传递坐标,以告诉HTML工具栏在Flex SWF上的位置。