[英]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.