我正在尝试在ScrollPanel中使用AbsolutePanel。我希望ScrollPanel尽可能多地占用页面高度以尽可能多地暴露AbsolutePanel。
我试过这个。但ScrollPanel和内容不会出现
<g:center height="100%">
<g:DecoratorPanel>
<g:ScrollPanel width='800px'>
<g:AbsolutePanel width='770px' height='1000px' ui:field='absolutePanel'/>
</g:ScrollPanel>
</g:DecoratorPanel>
</g:center>
如果我输入ScrollPanel绝对高度(height ='800px'),它会显示在页面上,而且还有效 - 但是,我不确定用户在浏览器上的高度,所以我' d不想硬编码800px
<g:center height="100%">
<g:DecoratorPanel>
<g:ScrollPanel width='800px' height='800px'>
<g:AbsolutePanel width='770px' height='1000px' ui:field='absolutePanel'/>
</g:ScrollPanel>
</g:DecoratorPanel>
</g:center>
有没有100%的父高,ScrollPanel,里面有绝对面板?
答案 0 :(得分:1)
所以,你想设置scroll panel
的高度(100%)。
I'm not really sure what the height the user has on the browser.
上述问题的答案是
窗口getClientHeight();
Gets the height of the browser window's client area excluding the scroll bar.
上面的方法返回一个int然后你可以调用panel.setHeight(returned+"px")
。
答案 1 :(得分:0)
它根本不合逻辑。绝对 - 意味着固定。为什么要绝对改变它的高度/宽度。如果您希望更改面板大小,请使用FlowPanel或任何其他内容面板。
此外,如果您正在考虑响应式设计,则应引用LayoutPanels的gwt文档以与RootLayoutPanel一起使用。
阅读GWT布局面板概念背后的Design thoughts,这与以前的方法不同。
另外,了解resize概念
检查并观察GWT展示。即使使用网格数据,也可以更改浏览器大小和application调整大小。
您可以从GWT下载源代码并提取样本/展示项目。注意 - 由于GWT试图演示的其他功能,代码过于复杂。