使包含AbsolutePanel的ScrollPanel占据其父级的完整高度

时间:2013-03-08 14:43:10

标签: gwt

我正在尝试在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,里面有绝对面板?

2 个答案:

答案 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试图演示的其他功能,代码过于复杂。