在 flex 中调整面板大小时避免重叠



在我的应用程序中,我使用的是包含两个或多个面板的borderContainer。所有这些面板都是可调整大小的。我的问题是在调整面板大小时,如果它接触旁边的面板,我必须停止自动调整大小。我使用了命中对象并能够捕获命中点,但我不知道如何停止调整事件的大小。请帮助我。

我还没有测试过这段代码,但你可以试试。 :)。基本上,每当我需要停止执行该特定方法的默认行为时,我都必须使用 preventDefault 方法。

<mx:Script>
    <![CDATA[
        import mx.containers.Panel;
        import mx.events.ResizeEvent;
    //Your other codes here
    public function panel_resizeHandler(event:ResizeEvent):void
    {
          var isTouched:Boolean = firstPanel.hitTestObject(secondPanel);
            if(isTouched)
            {
                event.preventDefault();   
            }
    }
    ]]>
</mx:Script>
<mx:Panel id="firstPanel" resize="panel_resizeHandler(event)>
    <!-- Panel contents here-->
</mx:Panel>
<mx:Panel id="secondPanel" ">
    <!--Panel Contents Here -->
</mx:Panel>

最新更新