0

实际上在我的应用程序登录页面中是弹出窗口..

private var login:Login;

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

听到弹出中心..但我想弹出按钮下方..

即..当我们点击登录按钮弹出将在按钮下方打开..

4

3 回答 3

2

尝试:

var sym:Login = PopUpManager.createPopUp( this, Login) as Login;
    sym.x     = button.x; 
    sym.y     = button.y+button.height;
于 2013-02-06T08:51:11.547 回答
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

于 2013-02-06T09:04:05.527 回答
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);

             }
于 2015-10-14T06:18:40.057 回答