GWT布局:“;占用剩余的空间。”;
我现有的布局是由两个div-g:LayoutPanel中的层组成的堆栈。顶部div应尽可能大以包含其内容。底部的div应该占据屏幕上的剩余空间,而不会导致滚动条出现 top div的内容可以更改,因此top div的大小可以更改 我当前的解决方案是一个回调,每当top div的内容发生变化时就会触发它。然后,包含布局的面板可以重新计算顶部div的大小,并显式设置第二层的GWT布局:“;占用剩余的空间。”;,gwt,layout,uibinder,Gwt,Layout,Uibinder,我现有的布局是由两个div-g:LayoutPanel中的层组成的堆栈。顶部div应尽可能大以包含其内容。底部的div应该占据屏幕上的剩余空间,而不会导致滚动条出现 top div的内容可以更改,因此top div的大小可以更改 我当前的解决方案是一个回调,每当top div的内容发生变化时就会触发它。然后,包含布局的面板可以重新计算顶部div的大小,并显式设置第二层的top和bottom属性以占用剩余空间。有更好的办法吗?大概 <g:LayoutPanel> <g:l
top
和bottom
属性以占用剩余空间。有更好的办法吗?大概
<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>
如何使用
DockLayoutPanel
<g:DockLayoutPanel unit='PX'>
<north size="10" ui:field='northWidget'>
<c:SomeWidget/>
</north>
<center>
<c:Anotherwidget/>
</center>
</g:DockLayoutPanel>
然后,中心将占据剩余空间。如果要调整顶部的大小,请调用
setWidgetSize(northWidget,newSize)
和中心
小部件将被重新计算。答案似乎是没有更好的方法。如果你习惯了,手工重新计算也没那么糟糕 我认为HeaderPanel是实现这一点的标准小部件。可能是问完问题后加上去的。我们也错过了它,有一段时间我们有自己的版本。如果你根本不想要滚动条,那么有一个简单的解决方案:使用带有溢出:隐藏的流程面板。但我假设,当底部面板溢出时,您确实希望出现一个滚动条?我也希望看到一个解决方案(我指的是在严格模式下也能工作的解决方案)。不确定,如果css2.1可以的话(?)是的,我需要第二层滚动面板的大小。嗯。但是我还是要计算一下northWidget的大小,对吗?我正在寻找一个解决方案,当northWidget改变大小时,它将自动流动。