如何在Flex中直观地“突破”Container?

时间:2008-10-01 00:28:53

标签: flex flash actionscript-3 mxml

这是我的问题 - 我有一些像这样的代码:

<mx:Canvas width="300" height="300">
     <mx:Button x="800" />
</mx:Canvas>

所以问题是画布中的Button的x属性方式超出了Canvas的宽度 - 因为它是Canvas的子画面,Canvas会屏蔽它并为我创建一些滚动条以滚动到按钮。

我想要的是在没有滚动条的情况下显示按钮 - 画布左侧800像素,同时仍将按钮保留为画布的子画面。我该怎么做?

2 个答案:

答案 0 :(得分:8)

我想通了 - 显然Container有一个名为clipContent的属性 - 这是Adobe的描述:

如果此容器的子项的位置和/或大小超出此容器的边框,是否应用剪辑蒙版。如果为false,则此容器的子项在移动或大小超出此容器的边框时仍保持可见。如果为true,则会剪切此容器的子项。

如果clipContent为false,则禁用此容器的滚动,并且不会显示滚动条。如果clipContent为true,则当容器的子项扩展到容器边框之外时,通常会出现滚动条。有关滚动条外观的其他控制,请参阅horizo​​ntalScrollPolicy和verticalScrollPolicy。 默认值为true。

基本上 - 要显示容器边界之外的按钮,我需要执行以下操作:

<mx:Canvas width="300" height="300" clipContent="false" >
     <mx:Button x="800" />
</mx:Canvas>

这比我想象的要容易。 :)

Here's the official doc...

答案 1 :(得分:2)

您也应该能够使用 includeInLayout 属性,这样您就可以独立地将它应用于每个子组件。

相关问题