GWT布局:“占据剩下的空间。”

时间:2010-11-02 16:57:07

标签: gwt layout uibinder

我现有的布局是两个div的堆栈--g:LayoutPanel中的图层。顶部div应该是包含其内容所需的大小。底部div应该占据屏幕上的其余空间,而不会导致滚动条出现。

顶部div的内容可以更改,因此顶部div的大小可以更改。

我当前的解决方案是每当top div的内容发生变化时触发的回调。然后,包含LayoutPanel的内容可以重新计算顶部div的大小,并明确设置第二层的topbottom属性以占用剩余的空间。有没有更好的办法?像,

<g:LayoutPanel>
    <g:layer top="0px" height="whatever you need, baby">
        <c:SomeWidget/>
    </g:layer>
    <g:layer top="the bottom of the first layer" bottom="0px">
        <c:Anotherwidget/>
    </g:layer>
</g:LayoutPanel>

3 个答案:

答案 0 :(得分:1)

如何使用DockLayoutPanel

<g:DockLayoutPanel unit='PX'>
  <north size="10" ui:field='northWidget'>
    <c:SomeWidget/>
  </north>
  <center>
    <c:Anotherwidget/>
  </center>
</g:DockLayoutPanel>

然后center将占用剩下的空间。如果您想调整顶部的大小,请致电 setWidgetSize(northWidget, newSize);窗口小部件。

答案 1 :(得分:0)

答案似乎是没有更好的方法。当你习惯它时,手动重新计算并不是那么糟糕!

答案 2 :(得分:0)

我认为HeaderPanel是执行此操作的标准Widget。也许是在提出问题后添加的。我们也错过了它并且有一段时间我们自己的版本。