3

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

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

我当前的解决方案是每当顶部 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>
4

3 回答 3

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);并且center小部件将被重新计算。

于 2010-11-16T13:24:59.033 回答
0

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

于 2011-12-08T00:33:59.627 回答
0

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

于 2013-07-20T07:27:09.763 回答