【发布时间】:2014-01-17 08:03:30
【问题描述】:
在我的应用程序中,我使用了一个包含两个或多个面板的borderContainer。所有这些面板都可以调整大小。 我的问题是在调整面板大小时,如果它触摸旁边的面板,我必须自动停止调整大小。 我使用了 hittestObject 并且能够捕捉到击中点,但我不知道如何停止调整大小事件。 请帮帮我。
【问题讨论】:
标签: apache-flex resize panel overlapping hittest
在我的应用程序中,我使用了一个包含两个或多个面板的borderContainer。所有这些面板都可以调整大小。 我的问题是在调整面板大小时,如果它触摸旁边的面板,我必须自动停止调整大小。 我使用了 hittestObject 并且能够捕捉到击中点,但我不知道如何停止调整大小事件。 请帮帮我。
【问题讨论】:
标签: apache-flex resize panel overlapping hittest
我没有测试过这段代码,但你可以试试。 :)。基本上,每当我需要停止执行该特定方法的默认行为时,我都必须使用 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>
【讨论】: