我有一个很大的SimpleLayoutPanel,位于RootLayoutPanel.get()中,这是一个约束。
现在我想放置一些额外的面板,并希望它有位置:在浏览器屏幕内固定。有可能吗?
我既不能使用setStyleName()/ CSS,也不能使用DOM.setStyleAttribute()来设置此样式。在这两种情况下,我的风格都被GWT的
所压倒由于
我成功的代码
我同时使用了两个根面板
public void onModuleLoad() {
SimpleLayoutPanel simpleLayoutPanel = new SimpleLayoutPanel();
simpleLayoutPanel.setStyleName("SimpleLayoutPanel");
DOM.setStyleAttribute(simpleLayoutPanel.getElement(), "backgroundColor", "blue");
RootLayoutPanel rootLayoutPanel = RootLayoutPanel.get();
rootLayoutPanel.add(simpleLayoutPanel);
LayoutPanel layoutPanel = new LayoutPanel();
layoutPanel.setStyleName("LayoutPanel");
DOM.setStyleAttribute(layoutPanel.getElement(), "position", "fixed");
DOM.setStyleAttribute(layoutPanel.getElement(), "bottom", "0px");
DOM.setStyleAttribute(layoutPanel.getElement(), "height", "100px");
DOM.setStyleAttribute(layoutPanel.getElement(), "width", "100px");
DOM.setStyleAttribute(layoutPanel.getElement(), "backgroundColor", "red");
RootPanel rootPanel = RootPanel.get();
rootPanel.add(layoutPanel);
}
答案 0 :(得分:1)
RootLayoutPanel和RootPanel都可以同时使用。
我成功了。我需要接收调整大小事件的元素已经放入RootLayoutPanel。我需要将已定位的元素放入RootLayout中。
我发现无法将所有内容都放在一个根面板中。
答案 1 :(得分:0)
如果我理解正确,您应该能够使用父面板的添加(Widget / Panel,int x,int y)方法来指定像素级别的确切位置。因此,如果您的Root面板名为root,并且想要在100,100处添加另一个面板somePanel,则root.add(somePanel,100,100)应该完成这项工作。