繁体   English   中英

GWT中心对话框放大

[英]GWT center DialogBox on zoom

我正在使用GWT 2.4开发GWT mobile应用程序。 我希望在缩放或普通视图上始终在用户viewport的中心看到我的DialogBox 在普通视图, center()可以处理它,但是当页面缩放,在DialogBox弹出的整个浏览器窗口,其中包括页面的滚动部分没有对用户的视口的中心的中心。 这个怎么做? 请帮忙。 提前致谢。

您需要将一个处理程序附加到捕获缩放事件的窗口。 在此处理程序中,您调用

myDialogBox.setPopupPosition((Window.getClientWidth() - myDialogBox.getOffsetWidth())/2, (Window.getClientHeight() - myDialogBox.getOffsetHeight())/2);
}

如果您想以不同的方式对待它们,则可能需要添加一个对话框检查大于浏览器窗口的情况。

我必须在我的窗口及其构造函数上implements ResizeHandler ,我添加了ResizeEvent处理程序> Window.addResizeHandler(this); 由于我正在实现ResizeHandler接口,因此我需要重写以下内容:

@Override
public void onResize(ResizeEvent event) {
    if (isShowing() ) { //check if popup is showing
        int left = (Window.getClientWidth() * 0.5 - (widthOfMyWindow * 0.5) );
        int top = (Window.getClientHeight() * 0.5  - (heightOfMyWindow * 0.5) );

        setPopupPosition( left < 10 ? 10 : left, top < 0 ? 0 : top );
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM