我正在尝试制作具有相对大小参数的滚动面板。但是如果您有int值,例如Window.getHeight
返回的那些值,则ScrollPanel.setSize(String, String)
函数不可能使用。GWT相对宽度
当我尝试ScrollPanel.setSize("100%", "150px");
它不会更改滚动面板的高度,而是使用默认值。任何帮助,将不胜感激。
我正在尝试制作具有相对大小参数的滚动面板。但是如果您有int值,例如Window.getHeight
返回的那些值,则ScrollPanel.setSize(String, String)
函数不可能使用。GWT相对宽度
当我尝试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中)
我不知道是否有可能与高度的事,但对我来说与宽度什么工作是先设置任意宽度,然后获取元素并设置宽度属性。
ScrollPanel myScrollPanel = new ScrollPanel();
myScrollPanel.setSize("2112px", "150px"); // Arbitrary width.
myScrollPanel.getElement().getStyle().setProperty("width", "100%"); // or "auto"
希望这对你有效(虽然你问了这个5年前,所以你可能不再担心它了)!
复制我的答案在这里:How to use ScrollPanel with relative size
=================================== ===============================
首先,ScrollPanel是不作为其他小部件的原因,我不'不知道为什么。无法设置相对大小(50%),如果我给它一些样式,它会丢失某处并且无法从页面中找到。
我的解决方案是使用ResizeLayoutPanel。 Andrei建议使用一些ProvideResize,但要求提供/需求调整链条保持不间断,这可能非常棘手。我发现这个ResizeLayoutPanel“为其一个孩子提供了Resize,但没有RequiresResize”,这是我的合成的根面板的完美候选人。然后,只要扩展ScrollPanel,就可以在父级ResizeLayoutPanel调用它的时候在“onResize”方法中调整自己的大小。
仍然没有回答我的第一个问题: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);
你能展示最简单的代码片段来重现问题吗?如果我们确切知道你想要做什么,你更有可能获得帮助。 – 2009-08-27 04:38:47
看到这个问题(和我的答案):http://stackoverflow.com/questions/41110336/how-to-use-scrollpanel-with-relative-size – Adam 2016-12-13 01:45:51