我正在嘗試製作具有相對大小參數的滾動面板。但是如果您有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