【问题标题】:How to position the GWT dialog to the bottom right corner of the browser?如何将 GWT 对话框定位到浏览器的右下角?
【发布时间】:2013-10-04 07:55:28
【问题描述】:
    int browserHeight=Window.getClientHeight();
    int browserWidth=Window.getClientWidth();
    dialog.setPopupPosition(browserWidth-dialog.getElement().getClientWidth(), browserHeight-dialog.getElement().getClientHeight());

    dialog.show();

上面的代码将使位置从浏览器的最后一个像素开始(即底部=0),这不是我所期望的。我不喜欢css cos浏览器不兼容的问题。 如果你可以让对话框不放在页脚上,我的网站中还有一个页脚(高度 = 50px),如下图所示

那么,如何将 GWT 对话框定位到浏览器的右下角?

【问题讨论】:

  • 你能用你的代码创建一个jsfidle文档吗,剩下的交给我们=)
  • 如果我在你的位置,我会用一个css类定位对话框
  • 它是 gwt,gwt 没有 jsfiddle
  • 好的,如果我在你的位置,我会将对话框 div 放在页脚中。因此,它将始终显示在页面底部。然后,将您的对话框 div 浮动到右侧,您就完成了
  • 我希望它在页脚的顶部。也是一个对话框

标签: css gwt uibinder


【解决方案1】:

这是正确的方法

dialogBox.setPopupPositionAndShow(new PositionCallback(){

    @Override
    public void setPosition(int offsetWidth, int offsetHeight) {
                        // TODO Auto-generated method stub
        dialogBox.setPopupPosition(parentDockLayoutPanel().getOffsetWidth()-         dialogBox.getOffsetWidth(), 
parentDockLayoutPanel().getOffsetHeight() - dialogBox.getOffsetHeight()-50);
    }

});

【讨论】:

    【解决方案2】:

    如果我们知道对话框的确切宽度和高度就很简单了。我们还需要知道对话框的parentPanel / parentLayoutPanel

    此代码可以工作,但不是最佳代码

    dialogBox.setWidth("300px");
    dialogBox.setHeight("300px");
    dialogBox.setPopupPosition(parentLayoutPanel.getOffsetWidth()-300,parentLayoutPanel.getOffsetHeight()-300-50);
    

    但是如何动态知道对话框的宽度+高度是另一个问题

    【讨论】:

      猜你喜欢
      • 2020-05-24
      • 1970-01-01
      • 2012-02-04
      • 2021-04-09
      • 1970-01-01
      • 2019-03-18
      • 2011-11-22
      • 1970-01-01
      • 2020-01-30
      相关资源
      最近更新 更多