火花容器不会将内容隐藏在其体外

时间:2012-02-07 11:57:23

标签: actionscript-3 flex flex4 flash-builder flex4.5

这就是我的屏幕的样子:

Screenshot

它是这样组成的:

First container <s:HGroup>(900 X 100)--top black area

Second container <s:Group> (900 X 475)--middle white area

Third container <s:HGroup>--(900 X 100)--bottom black area

如果项目是使用Flex 3完成的,则中间区域为<mx:Canvas>

现在假设我有一个BorderContainer(125 X 475)并将其命名为 middleContainerChild 。它位于中间区域的右侧。当我将y位置设置为-middleContainerChild.height时,它应该位于容器正文外的y = -475。正如您在上图中所看到的那样,它已被放置在那里。

但除了<mx:Canvas>之外,图片仍会显示,即使它不再位于<s:Group>正文中,也会显示在<s:HGroup>的“顶部”。

有关详细说明,请参阅下图: 2 images showing the problem

如果我使用<mx:Canvas>,它会被隐藏起来,但如果我使用Spark容器(不仅是一个组,而是任何Spark容器),它仍然可见。

还有其他人有这个问题吗?

2 个答案:

答案 0 :(得分:4)

阅读clipAndEnableScrolling类的GroupBase属性。

问候。

答案 1 :(得分:1)

由于2DH给了我提示,我准备了这个样本,

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="900" minHeight="672">

    <fx:Declarations>
        <s:Move 
            id="moveUp" 
            yFrom="0" 
            yTo="-475" 
            target="{helpWindow}"/>
        <s:Move 
            id="moveDown" 
            yFrom="-475" 
            yTo="0" 
            target="{helpWindow}"/>

    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            private function buttonUp_clickHandler(event:MouseEvent):void
            {
                moveUp.play();
            }

            private function buttonDown_clickHandler(event:MouseEvent):void
            {
                moveDown.play();
            }
        ]]>
    </fx:Script>

    <s:layout>
        <s:VerticalLayout gap="0"/>
    </s:layout> 

    <s:BorderContainer 
        backgroundColor="#000000" 
        height="100" 
        width="100%"/>
    <s:Group 
        height="475" 
        width="100%" 
        clipAndEnableScrolling="true">

        <s:VGroup 
            left="0" 
            top="0">
                <s:Button 
                    label="Play Effect UP" 
                    click="buttonUp_clickHandler(event)"/>
                <s:Button 
                    label="Play Effect DOWN" 
                    click="buttonDown_clickHandler(event)"/>
        </s:VGroup>


        <s:BorderContainer 
            id="helpWindow"
            backgroundColor="#CCCCCC"
            y="{-helpWindow.height}"
            right="0" 
            height="475" 
            width="125"
            />
    </s:Group>
    <s:BorderContainer 
        backgroundColor="#000000" 
        height="100" 
        width="100%"/>
</s:Application>

所以现在我已将我的中心容器的 clipAndEnableScrolling 设置为 true ,问题已解决

感谢堆叠成员:)