zoukankan      html  css  js  c++  java
  • flex 让一个容器在另一个容器的内部移动,不会超界

    1、主程序源代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    creationComplete="creationCompleteHandler()">

    <fx:Script>
       <![CDATA[
        import flash.geom.Rectangle;
        import mx.core.FlexGlobals;
        import mx.core.UIComponent;
        import mx.events.MoveEvent;
        import mx.managers.PopUpManager;
        import spark.components.TitleWindow;
       
        protected function creationCompleteHandler():void
        {
         var window:TitleWindow = new TitleWindow();
         PopUpManager.addPopUp(window, this, false);
         PopUpManager.centerPopUp(window);
         window.addEventListener(MoveEvent.MOVE, window_moveHandler);
        }
       
        protected function window_moveHandler(event:MoveEvent):void
        {
         var window:UIComponent = event.currentTarget as UIComponent;
         var application:UIComponent = FlexGlobals.topLevelApplication as UIComponent;
         var bounds:Rectangle = new Rectangle(0, 0, application.width, application.height);
         var windowBounds:Rectangle = window.getBounds(application);
         var x:Number;
         var y:Number;
         if (windowBounds.left <= bounds.left)
          x = bounds.left;
         else if (windowBounds.right >= bounds.right)
          x = bounds.right - window.width;
         else
          x = window.x;
         if (windowBounds.top <= bounds.top)
          y = bounds.top;
         else if (windowBounds.bottom >= bounds.bottom)
          y = bounds.bottom - window.height;
         else
          y = window.y;
         window.move(x, y);
        }
       
       ]]>
    </fx:Script>

    </s:WindowedApplication>

  • 相关阅读:
    深入理解Auto Layout 第一弹
    Android UI测量、布局、绘制过程探究
    Android Measure 体系简单总结
    [译]Android view 测量布局和绘制的流程
    UI布局只关乎三件事情:尺寸、位置、组织
    ios 布局 素材 待整理
    NSAllowsArbitraryLoadsInWebContent NSAllowsArbitraryLoads
    UIStackView
    laravel 自定义常量方法
    laravel 增加不存在数据库的字段
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100554.html
Copyright © 2011-2022 走看看