Избегайте перекрытия при изменении размера панели в 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>

Другие вопросы по тегам