2013-02-06 89 views
0

其實在我的應用程序登錄頁是彈出..設置彈出窗口的特定位置?

private var login:Login; 

     protected function loginPopUpHandler(event:MouseEvent):void 
     { 
      login = new Login(); 
      PopUpManager.addPopUp(login,this,true); 
      PopUpManager.centerPopUp(login); 
     } 

聽彈出來中心.... 但我想彈出下面的按鈕..

即。當我們點擊登錄按鈕會彈出下面的按鈕打開..

+0

你能只是在彈出窗口中的x和y的值,將它放在下面的按鈕? – JeffryHouser

+0

設置按鈕深度,然後彈出深度.. – Devendra

+0

給我更多理解的小例子.. –

回答

1

首先這取決於什麼this是。如果this例如是您登錄按鈕,您可以輕鬆地這樣做:

protected function loginPopUpHandler(event:MouseEvent):void 
      { 
       login = new Login(); 
       PopUpManager.addPopUp(login,this,true); 
       PopUpManager.centerPopUp(login); 
       login.x += loginButton.width/2; // or any other number 
       login.y += 123; //whatever number. try tweaking it 
      } 

如果想用的顯示對象作爲FlexGlobals.topLevelApplication as DisplayObject那麼你可能想要讓你從event.target登錄按鈕,並用它的座標操作。試着嘗試一下。
你也許將不得不在使用座標時使用localToGlobal屬性。

2

嘗試:

var sym:Login = PopUpManager.createPopUp(this, Login) as Login; 
    sym.x  = button.x; 
    sym.y  = button.y+button.height; 
0

工作對我來說:

protected function loginPopUpHandler(event:MouseEvent):void 
      { 
       login = new Login(); 
       login.x = 10; // x value relative to "this" 
       login.y = 123; // y value relative to "this" 
       PopUpManager.addPopUp(login,this,true); 

      }