如何将Popup设置为始终在GWT的顶部可见

out*_*lou 2 gwt position popup

我有一个加载弹出窗口,我需要在页面顶部显示,即使用户向下滚动.

到目前为止我尝试的是设置弹出位置如下

setPopupPosition(Window.getClientWidth()/2 , 0);
Run Code Online (Sandbox Code Playgroud)

弹出窗口显示在absolut顶部.

Chr*_*her 7

如果从不同的角度查看,情况可以轻松解决:弹出位置不应该调整到页面 - 相反,页面应该在居中弹出窗口后面滚动,例如:

final ScrollPanel scrollPanel = new ScrollPanel();
RootLayoutPanel.get().add(scrollPanel);
pagePanel = new FlowPanel();
scrollPanel.setWidget(pagePanel);
pagePanel.add(...);
Run Code Online (Sandbox Code Playgroud)

现在添加整个页面内容pagePanel(而不是直接添加到rootPanel).

然后你可以创建这样的弹出窗口:

final PopupPanel popupPanel = new PopupPanel();
popupPanel.add(...);
popupPanel.center();
Run Code Online (Sandbox Code Playgroud)

当窗口调整大小时,您仍然需要重新设置弹出窗口,但除此之外,弹出窗口将始终位于滚动页面前面的中心.

  • 我认为你应该努力改变错误的布局.原因有两个:1.如果布局不能轻易改变 - 那就是误解.2.错误的布局周围没有好的工作条件.OTOH,你首先需要了解一个好的布局架构.如果您没有使用任何MVP并且您的UI很复杂,那么它不是一个好的布局,因此也不是一个好的应用程序. (3认同)