Избегайте перекрытия при изменении размера панели в flex
В моем приложении я использую borderContainer, который содержит две или более панелей. Размер всех панелей можно изменять. Моя проблема заключается в изменении размера панели, если она касается панели рядом с ней, я должен остановить изменение размера автоматически. Я использовал hittestObject и смог поймать точку удара, но я не знаю, как остановить изменение размера события. Пожалуйста, помогите мне.
1 ответ
Я не проверял этот код, но вы можете попробовать.:). По сути, я должен использовать метод protectDefault всякий раз, когда мне нужно остановить выполнение поведения этого конкретного метода по умолчанию.
<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>