【问题标题】:Avoid overlapping while resizing a panel in flex在 flex 中调整面板大小时避免重叠
【发布时间】:2014-01-17 08:03:30
【问题描述】:

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

【问题讨论】:

    标签: apache-flex resize panel overlapping hittest


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 1970-01-01
      • 2011-06-25
      • 2018-04-30
      • 2017-01-12
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      相关资源
      最近更新 更多