我有一个很高的Flex应用程序,它使用Alert.show()来显示错误/警告消息。当错误消息在屏幕上居中时会产生问题,但在屏幕位于极端滚动位置(顶部或底部)时不可见。有什么方法可以在用户可查看页面的中心显示警报。我尝试了以下方法,但没有工作。
var errorMsg:Alert = Alert.show("Error message");
PopUpManager.centerPopUp(errorMsg);
提前致谢。
答案 0 :(得分:4)
Alert通常以您在params中提供的父级为中心。
在以下静态方法父参数中使用(FlexGlobal.topLevelApplication as parent)
作为参数。
Alert.show(text:String = "", title:String = "", flags:uint = 0x4, parent:Sprite = null, closeHandler:Function = null, iconClass:Class = null, defaultButtonFlag:uint = 0x4, moduleFactory:IFlexModuleFactory = null);
答案 1 :(得分:1)
以下是我的问题的解决方案,我已经使用javascript调用来实现这一目标。
var viewPoint:Number = ExternalInterface.call("eval", "window.pageYOffset");
var browserHeight:Number = ExternalInterface.call("eval", "window.innerHeight");
//the following calculation finds the center y coordinate in user's viewable page.
var viewableY : Number = ((browserHeight/2)+viewPoint-50);
var alert : Alert = Alert.show("Error Msg");
PopUpManager.centerPopUp(alert);
alert.move(400,viewableY);
我希望这有助于某人...