我试图让具有相对大小参数滚动面板。 但ScrollPanel.setSize(String, String)
功能是不可能的,如果你有,如由返回int类型的工作Window.getHeight
。
当我尝试ScrollPanel.setSize("100%", "150px");
它不会改变滚动面板的高度,而是使用默认值。 任何帮助,将不胜感激。
我试图让具有相对大小参数滚动面板。 但ScrollPanel.setSize(String, String)
功能是不可能的,如果你有,如由返回int类型的工作Window.getHeight
。
当我尝试ScrollPanel.setSize("100%", "150px");
它不会改变滚动面板的高度,而是使用默认值。 任何帮助,将不胜感激。
根据GWT文档为[ScrollPanel] [1],它们似乎是相当严格的约在绝对和相对不CSS单元中使用的宽度。 因此,该问题可以是与“100%”的参数。
[1]: http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/ScrollPanel.html#setSize(java.lang.String ,JAVA。 lang.String)
我不知道是否有可能与高度来完成,但什么工作对我来说与宽度是先设置任意宽度,然后拿到元素并设置width属性。
ScrollPanel myScrollPanel = new ScrollPanel();
myScrollPanel.setSize("2112px", "150px"); // Arbitrary width.
myScrollPanel.getElement().getStyle().setProperty("width", "100%"); // or "auto"
希望这对你的作品(虽然你5年前问这个,所以你可能不会太担心它了)!
从这里复制我的答案: 如何使用ScrollPanel相对大小
================================================== ================
首先,ScrollPanel不作为其他部件的原因,我不知道为什么什么。 无法设置相对规模(50%),如果我给它一些风格,它的地方丢失,无法从页面发现。
我的解决办法是使用ResizeLayoutPanel。 安德烈使用的东西ProvidesResize建议,但需要提供/需要调整链绵绵不绝,这是非常棘手的。 我发现这个ResizeLayoutPanel“ProvidesResize它的一个孩子,但不RequiresResize”,这是对我复合的根面板的最佳人选。 然后,我只是延长ScrollPanel来调整自身的“在onResize”的方法,只要它是由父ResizeLayoutPanel调用。
仍然没有回答我的第一个问题:由ScrollPanel这样的表现摆在首位? 我试图找到答案在它的源代码,但没有成功(虽然我没有花足够的时间来研究源代码)。
public class My100PctScrollPanel extends ScrollPanel {
@Override
public void onResize() {
// Window.alert("on resize");
this.setWidth(this.getParent().getOffsetWidth()+"px");
this.setHeight(this.getParent().getOffsetHeight()+"px");
super.onResize();
}
}
........
compositeRoot = new ResizeLayoutPanel();
........
scrollPanel = new My100PctScrollPanel();
compositeRoot.clear();
compositeRoot.add(scrollPanel);