GWT:与任何其他Web应用程序一样适合浏览器的组合

时间:2013-09-05 12:55:19

标签: gwt

我是GWT的新手,刚开始布局。 我创建了一个登录屏幕(布局:位于页面中央),然后在成功登录后移动到第二页,其中包含doc面板并添加了少量组件。

当我启动它时,它会出现在网页的中心。我希望它覆盖整个页面,具体取决于浏览器/屏幕的大小。

我怎样才能到达那里? 请帮忙。

另外请分享任何使用2,3页导航的小GWT应用程序(带源代码)。

1 个答案:

答案 0 :(得分:1)

这对我有用。 (叠加是一个div,我想覆盖屏幕)。

    public void coverScreen() {
        overlay.setHeight(getHeight() + "px");
        overlay.setWidth(Document.get().getBody().getClientWidth() + "px");
    }

    private static native int getHeight() /*-{
        if ($doc.documentElement.clientHeight && $doc.body.clientHeight) {
            if ($doc.documentElement.clientHeight > $doc.body.clientHeight) {
                return $doc.documentElement.clientHeight;
            } else {
                return $doc.body.clientHeight;
            }
        } else if ($doc.body.clientHeight) {
            return $doc.body.clientHeight;
        } else if ($doc.documentElement.clientHeight) {
            return $doc.documentElement.clientHeight;
        } else {
            return 0;
        }
    }-*/;

修改

我参与了一项功能,以避免覆盖滚动条。

 private static native int getScrollbarWidth() /*-{
    var body = $doc.body;
    body.style.overflow = 'hidden';
    var width = body.clientWidth;
    body.style.overflow = 'scroll';
    width -= body.clientWidth;
    if (!width)
        width = body.offsetWidth - body.clientWidth;
    body.style.overflow = '';
    return width;
  }-*/;

setWidth调用变为。

 overlay.setWidth(Document.get().getBody().getClientWidth() - getScrollbarWidth() + "px");

div CSS如下

position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 6790;
margin: 0px !important;
background-color: rgb(0, 0, 0);
opacity: 0.8;